第一部分 新手入门
- 一 量化投资视频学习课程
- 二 Python 手把手教学
- 量化分析师的Python日记【第1天:谁来给我讲讲Python?】
- 量化分析师的Python日记【第2天:再接着介绍一下Python呗】
- 量化分析师的Python日记【第3天:一大波金融Library来袭之numpy篇】
- 量化分析师的Python日记【第4天:一大波金融Library来袭之scipy篇】
- 量化分析师的Python日记【第5天:数据处理的瑞士军刀pandas】
- 量化分析师的Python日记【第6天:数据处理的瑞士军刀pandas下篇
- 量化分析师的Python日记【第7天:Q Quant 之初出江湖】
- 量化分析师的Python日记【第8天 Q Quant兵器谱之函数插值】
- 量化分析师的Python日记【第9天 Q Quant兵器谱之二叉树】
- 量化分析师的Python日记【第10天 Q Quant兵器谱 -之偏微分方程1】
- 量化分析师的Python日记【第11天 Q Quant兵器谱之偏微分方程2】
- 量化分析师的Python日记【第12天:量化入门进阶之葵花宝典:因子如何产生和回测】
- 量化分析师的Python日记【第13天 Q Quant兵器谱之偏微分方程3】
- 量化分析师的Python日记【第14天:如何在优矿上做Alpha对冲模型】
- 量化分析师的Python日记【第15天:如何在优矿上搞一个wealthfront出来】
第二部分 股票量化相关
- 一 基本面分析
- 1.1 alpha 多因子模型
- 1.2 基本面因子选股
- 1.3 财报阅读 • [米缸量化读财报] 资产负债表-投资相关资产
- 1.4 股东分析
- 1.5 宏观研究
- 二 套利
- 三 事件驱动
- 四 技术分析
- 4.1 布林带
- 4.2 均线系统
- 4.3 MACD
- 4.4 阿隆指标 • 技术指标阿隆( Aroon )全解析
- 4.5 CCI • CCI 顺势指标探索
- 4.6 RSI
- 4.7 DMI • DMI 指标体系的构建及简单应用
- 4.8 EMV • EMV 技术指标的构建及应用
- 4.9 KDJ • KDJ 策略
- 4.10 CMO
- 4.11 FPC • FPC 指标选股
- 4.12 Chaikin Volatility
- 4.13 委比 • 实时计算委比
- 4.14 封单量
- 4.15 成交量 • 决战之地, IF1507 !
- 4.16 K 线分析 • 寻找夜空中最亮的星
- 五 量化模型
- 5.1 动量模型
- 5.2 Joseph Piotroski 9 F-Score Value Investing Model
- 5.3 SVR
- 5.4 决策树、随机树
- 5.5 钟摆理论
- 5.6 海龟模型
- 5.7 5217 策略
- 5.8 SMIA
- 5.9 神经网络
- 5.10 PAMR
- 5.11 Fisher Transform
- 5.12 分型假说, Hurst 指数
- 5.13 变点理论
- 5.14 Z-score Model
- 5.15 机器学习
- 5.16 DualTrust 策略和布林强盗策略
- 5.17 卡尔曼滤波
- 5.18 LPPL anti-bubble model
- 六 大数据模型
- 6.1 市场情绪分析
- 6.2 新闻热点
- 七 排名选股系统
- 八 轮动模型
- 九 组合投资
- 十 波动率
- 十一 算法交易
- 十二 中高频交易
- 十三 Alternative Strategy
第三部分 基金、利率互换、固定收益类
- 一 分级基金
- 二 基金分析
- 三 债券
- 四 利率互换
第四部分 衍生品相关
- 一 期权数据
- 二 期权系列
- 三 期权分析
- 四 期货分析
量化分析师的Python日记【第2天:再接着介绍一下Python呗】
“谁来给我讲讲Python?”
第一天学习了Python的基本操作,以及几种主要的容器类型,今天学习python的函数、循环和条件、类,这样才算对Python有一个大致的了解。今天的学习大纲如下:
三、函数
1、定义函数
四、循环与条件
1、if
语句
2、while true/break
语句
3、for
语句
4、列表推导式
五、类
1、闲说类与对象
2、定义一个类
三,函数
1、定义函数
(1)定义规则
介绍列表方法的时候已经大概说过函数,学过数学的人都知道函数,给一个参数返回一个值。函数也可以自己定义。用如下的格式:
def 函数名(参数): 输入函数代码
函数代码中,return
表示返回的值。比如定义一个平方函数square(x)
,输入参数x
,返回x
的平方:
def square(x):return x*x
square(9)
81
(2)定义变参数函数
有时需要定义参数个数可变的函数,有几个方法可以做到:
给参数指定默认值 比如,定义参数f(a,b=1,c=’hehe’)
,那么在调用的时候,后面两个参数可以定义也可以不定义,不定义的话默认为b=1,c=’hehe’
,因此如下调用都可以:
F(‘dsds’);
F(‘dsds’,2);
F(‘dsds’,2,’hdasda’);
参数关键字 上面的方法等于固定了参数的位置,第一个值就是第一个参数的赋值。而“参数关键字”方法,其实是固定了参数关键字,比如仍然定义参数 f(a,b=1,c=’hehe’)
,调用的时候可以用关键字来固定:
F(b=2,a=11)
位置可以动,只要参数关键指出来就可以了。
四、循环与条件
注意Python是用缩进来标识出哪一段属于本循环。
1、if
语句
也是注意一是缩进,二是条件后面有冒号:
j=2.67
if j<3:
print 'j<3'
j<3
对于多条件,注意的是elseif要写成elif,标准格式为:
if 条件1:
执行语句1
elif 条件2:
执行语句2
else:
执行语句3
注意if…elif…else
三个是并列的,不能有缩进:
t=3
if t<3:
print 't<3'
elif t==3:
print 't=3'
else:
print 't>3'
t=3
2、while true/break
语句
该语句的格式为
while true即条件为真:
执行语句
if中断语句条件 : break
看个例子:
a=3
while a<10:
a=a+1
print a
if a==8: break
4
5
6
7
8
虽然while
后面的条件是a<10
,即a
小于10的时候一直执行,但是if
条件中规定了a
为8时就break
掉,因此,输出只能输到8。
3、for
语句
不多说了,可以遍历一个序列/字典等。
a=[1,2,3,4,5]
for i in a:
print i
1
2
3
4
5
5、列表推导式:轻量级循环
列表推导式,是利用其它列表来创建一个新列表的方法,工作方式类似于for
循环,格式为:
[输出值 for 条件]
当满足条件时,输出一个值,最终形成一个列表:
[x*x for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[x*x for x in range(10) if x%3==0]
[0, 9, 36, 81]
六、类
作为第二天的Python学习,先对类有一个大致的印象吧。
1、闲说类与对象
类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。
而对象,是类的一个具体。它是一个实实在在存在的东西。如果上面说的“人”是一个抽象的类,那么你自己,就是这个类里一个具体的对象。
一个类的对象,也叫一个类的实例。再打个比方,类好比一个模具,对象就是用这个模具造出来的具有相同属性和方法的具体事物,俗话说:“他俩真像,好像一个模子刻出来的”,就是指的这个意思。 那么用这个模具造一个具体事物,就叫类的实例化。下面看一个具体的类:
2、定义一个类
class boy:
gender='male'
interest='girl'
def say(self):
return 'i am a boy'
上面的语句定义了一个类boy
,我们来根据这儿类的模型构造一个具体的对象:
peter=boy()
现在来看看peter
这个具体的实例有哪些属性和方法。
“什么叫属性和方法?”
它们都是“类”的两种表现,静态的叫属性,动态的叫方法。比如“人”类的属性有姓名、性别、身高、年龄、体重等等,“人”类的方法有走、跑、跳等等。
peter.gender
'male'
peter.interest
'girl'
peter.say()
'i am a boy
这里gender
和interest
是peter
的属性,而say
是他的方法。如果再实例化另一个对象比如sam
:
sam=boy()
那么sam
和peter
有一样的属性和方法,可以说,“他们真是一个模子刻出来的!”
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论