文:蓝兔子读难NOTES
图:配图 来源于网络
Python3 量化分析从小白到破产笔记
判断与选择结构
编码:0007
最前面先放个简易目录,理清思绪好上路。
python基础:
编程环境准备
当前=>程序3种执行结构:顺序、分支、循环
高阶数据类型:列表、字典~
函数:定义、调用、传参~
高级特性:切片、迭代~
文件读写:打开、保存~
异常处理:~
常用内置函数汇总:~
常用内置模块:os、datetime~
python 包:numpy、pandas~
数据获取:
tushare(直接获取交易数据)
处理和分析数据:
Numpy(数组、矩阵)
Pandas(表格、excel)
Scipy(数理统计)
可视化:
Matplotlib(画图)
seaborn(画图)
程序,是用来控制计算机,按照预定的模式,执行某一特定功能的代码串。在现实世界中,我们可能会遇到各种各样的问题,需要计算机替我们执行。比如,在python量化分析中,我们可能需要程序去获取所有上市公司的财务报表,并计算他们的财务指标,然后筛选出满足特定要求的公司,并按照一定的策略买入。买入之后呢,还需要时时进行监测,当触发一些特定信号的时候,再卖出或是进行别的处理。
在上面的过程中,如果以我们人的思维模式,将会是一个非常大的工作量,光是列出所有的上市公司就可能耗费大量时间,更别说获取他们的财务报表,计算财务指标,还有时时监测交易数据。但是如果交给计算机去执行,他们就可以夜以继日的工作。但是,难道我们在写程序的时候,也要按照这个思路一行一行的写吗?
1966年的时候,两位大神Bohm 和 Jacopini证明了一个事实:如果一个程序只有单个入口和单个出口,并且没有死循环,那么这个程序无论简单与否,都可以通过三种基本的语法结构来实现:
顺序结构
选择结构
循环结构
1968年的时候,又一位大神提出了“结构化程序设计”的思想,规定了程序设计的一些规范,以帮助设计者开发出易于理解、修改和维护的程序。在现在的编程语言中,基本都遵循老前辈们的思想进行设计,python也不例外。
1、顺序结构
这个基本不用多说,程序从上往下,照着代码的顺序,一句一句执行。就像我们做事情的先后顺序一样:先打开冰箱门,再把大象装进去,最后关上冰箱门。
2、选择结构
选择结构,一般就是我们需要对条件进行判断,以执行不同操作的时候。例如,我们设定了一个指标,当股票的价格超过该指标时,我们就卖出1手的股票;而当股票的价格低于该指标值,我们就买入1手股票;如果股票价格和指标相等,则按兵不动。
程序中,我们用「if」来表示「如果」;
如果程序需要用到多种假设条件,也就是多个「if」,我们要使用「 else if 」,简写为「elif」;
对于最后一种假设,直接用「else」。
由于当某一个如果成立时,程序就要运行该如果对应要做的事,所以,
冒号:在 if 判断语句的后面,用一个冒号,表示成立则要干的事;
缩进:描述具体要做的事的代码,需要相对于该判断语句缩进一个单位,表示是该语句的小弟。
如果最后一种情况,包含全部剩余可能性,则用else,不写具体条件:
**********************
if 股票价格>指标:
卖出1手股票
elif 股票价格<指标:
买入一手
else :
按兵不动
***********************
在使用判断语句(选择分支)时,需要注意,一个是冒号,一个是缩进。
在某一个具体条件的内部,就是缩进的内容,可以是多行代码:
另外,最后一个else里面的条件省略不写,它代表所有剩下的可能。
最后注意一点,无论有多少个「if」和「elif」,程序会从上到下去找,一旦找到一个成立的,就进入执行具体代码,后面的条件是否成立他就不管了。
3、总结一下
冒号:条件的后面用冒号,表示对应条件成立该做的事;
缩进:对应的事缩进一个单位,表示是该条件的小弟;
语句组:对应要做的事可以多行代码,但都要缩进;
条件:PEP 8建议两边加空格,如 if num == 8:,不用if num==8:;
结构:使用时无需完整的if-elif-else一套,可以是if,也可以是if-else;
提示:判断相等用“==”,不是“=”,判断不等用“!=”;
变量名:上面使用中文是错误示范,请查看PEP 8。
好啦,先到这,我们下次再聊,感兴趣可以关注哦!
阅读原文
相关文章
网友评论