Python编程基础教程-Day02完整解析

需积分: 0 0 下载量 49 浏览量 更新于2024-10-10 收藏 264.81MB ZIP 举报
资源摘要信息:"本资源是一个面向初学者的Python编程基础学习包,文件名为‘基础班-Day02.zip’。资源包含了Python编程语言的核心概念和基础知识,旨在通过实例演示帮助读者快速掌握Python的基础操作和编程技能。 在知识点方面,该资源主要涵盖了以下几个重点内容: 1. Python的基本语法:这包括Python代码的基本构成元素,如变量声明、基本数据类型、运算符以及表达式等。对于初学者而言,理解这些基本语法是学习后续内容的基础。 2. 数据类型:Python中的数据类型众多,包括数值类型、字符串、列表、元组、字典和集合等。掌握各种数据类型的操作是编写有效Python代码的先决条件。 3. 控制结构:在编程中,控制结构决定了程序的执行流程,主要通过条件语句和循环语句来实现。资源中将介绍if-else条件语句、while循环和for循环的使用方法。 4. 函数:函数是组织代码和复用代码的重要工具。资源中将介绍如何定义函数、如何传递参数以及返回值的概念。 5. 模块:Python模块提供了额外的功能,可以通过import语句导入使用。资源中会教授如何导入和使用标准库中的模块,以及如何创建和使用自定义模块。 6. 文件操作:文件操作是编程中常用的功能,资源中将介绍如何在Python中打开、读取、写入和关闭文件,这些操作对于数据处理至关重要。 7. 异常处理:异常处理机制允许程序在遇到错误时不会立即崩溃,而是通过预定义的异常处理代码块来处理错误。资源中将介绍try-except语句的用法。 8. 面向对象编程:Python是面向对象的语言,资源中会讲解类和对象的概念,以及如何通过继承、多态和封装等面向对象的特性来设计和实现程序。 该资源特别适合于从未接触过Python编程语言的初学者,或者那些希望系统学习Python编程的人群。通过本资源的学习,初学者不仅能够掌握Python编程的基础知识,还能独立完成基本的编程操作。同时,资源还为希望深入学习Python编程的读者提供了进一步学习的方向。 由于文件大小的限制,本教程被分为多个部分进行上传。学习者可以通过按资源名称顺序学习,逐步深入理解并掌握Python编程语言。" 【压缩包子文件的文件名称列表】所列的文件中包含"视频"、"笔记"、"代码"、"资料"和"Ԥϰ",其中"Ԥϰ"可能是一个错误或非标准字符,无法解读其含义。假设这是一个打字错误或者文件名错误,那么其他文件类型包含了视频教程、学习笔记、示例代码和相关的学习资料,这些都是学习Python编程时常用的学习材料类型。视频可以提供直观的视觉教程,笔记和资料为理论知识的记录和参考,代码文件则允许学习者实践和运行实际的Python代码。

set hive.exec.dynamic.partition.mode=nonstrict; set hive.exec.parallel=true; set hive.exec.parallel.thread.number=30; --drop table if exists dm_finrisk.dm_event_walletSettleSuccessEvent_di; create table if not exists dm_finrisk.dm_event_cashLoanEvent_di( event_uuid string ,event_code string ,dt string ,event_time string ,rawSnapshot string ) COMMENT 'cashLoanEvent' PARTITIONED BY ( day bigint)stored as parquet; drop table if exists tmp.tmp_dm_event_cashLoanEvent_di_01_${zdt.addDay(-1).format("yyyyMMdd")}; create table if not exists tmp.tmp_dm_event_cashLoanEvent_di_01_${zdt.addDay(-1).format("yyyyMMdd")} as select uuid as event_uuid ,event as event_code ,from_unixtime(unix_timestamp(cast(day as string),'yyyymmdd'),'yyyy-mm-dd') as dt ,from_unixtime(cast(cast(`time` AS BIGINT)/1000 AS BIGINT),'yyyy-MM-dd HH:mm:ss') as event_time ,get_json_object(data,'$.hotPublish.rawSnapshot') as rawSnapshot from dm_finrisk.ods_event_hdfs_snapshot_di where code = 'shield@cashLoanEvent' and day=${zdt.addDay(-1).format("yyyyMMdd")} drop table if exists tmp.tmp_dm_event_cashLoanEvent_di_02_${zdt.addDay(-1).format("yyyyMMdd")}; create table if not exists tmp.tmp_dm_event_cashLoanEvent_di_02_${zdt.addDay(-1).format("yyyyMMdd")} as select event_uuid ,event_code ,dt ,event_time ,rawSnapshot from tmp.tmp_dm_event_cashLoanEvent_di_01_${zdt.addDay(-1).format("yyyyMMdd")}; alter table dm_finrisk.dm_event_cashLoanEvent_di drop if exists partition (day = ${zdt.addDay(-1).format("yyyyMMdd")}); insert overwrite table dm_finrisk.dm_event_cashLoanEvent_di partition (day = ${zdt.addDay(-1).format("yyyyMMdd")}) select event_uuid ,event_code ,dt ,event_time ,rawSnapshot from tmp.tmp_dm_event_cashLoanEvent_di_02_${zdt.addDay(-1).format("yyyyMMdd")}分析下上面代码

2023-06-08 上传

import datetime today = datetime.date.today() ## 获取今天的日期 day1=datetime.date.today()-datetime.timedelta(300) ### 获取300天之前的日期 day2=datetime.datetime.strftime(today,"%Y-%m-%d" ) all_stock = get_all_securities(types=['stock'], date=day2) ### 获取所有股票代码 code=list(all_stock.index) ## 判断是否ST 并且删除st的股票代码 df_st=get_extras('is_st',code,start_date=day1,end_date=day2) for i in code: if any(df_st[i].values): code.remove(i) stock_list=[] for i in code: start_date=get_security_info(i).start_date days=(today-start_date).days if days>300: #### 选出上市满天300的股票 stock_list.append(i) data=dict() for i in stock_list: df=get_price(i,start_date=day1,end_date=day2,frequency='daily', fields=['open','close','high','low']) data[i]=df ### 将数据分成选股数据和回测数据。假设用中间的120根k线,后60根k线回测 code=[] n=45 ## n为回测k线的个数 s设为45 (可以随意调整) for i in stock_list: df=data[i] max_=max(df.high[-190:-n-1]) ### 选140=(190-45)根k线(可以随意调整) min_=min(df.low[-190:-n-1]) max_close=max(df.close[-190:-n-1]) ### 选出平台震荡期间振幅小于50%的,且,最后三天连涨,最后一天突破平台最大收盘价超过5%的所有股票 if all([max_/min_<1.5,df.close[-n-1]>df.close[-n-2]>df.close[-n-3],df.close[-n-1]/max_close>1.05]): code.append(i) ### 买入过程 ## 假设根据上面平台突破选出来的股票作为买入标的 ## 买入原则是 当天选出来的股票第二天以开盘价买入。且把选出来的每只股票以,同等资金额买入 capital=100000 ## 初始资金为 10万元 position=dict() ## 初始持仓手数为一个空字典 def handle(stock_list,capital,posttion,data,n): capital_=0 for i in code: capital_per=capital/len(code) position[i]=int(capital_per/(data[i].open[-n]*100)) capital_+=capital_per-position[i]*data[i].open[-n]*100 return ([position,capital_]) position_result=handle(get_code(),capital,position,data,n)修改上述代码,使能在jupyter里面运行

2023-06-06 上传