经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
金融投资论坛 六区
›
金融学(理论版)
›
量化投资
【干货分享】从零开始学量化:06技术指标MA策略
楼主
唉人好累66
3178
2
收藏
2017-07-26
1. 策略原理
:
基于ta-lib的MA策略。如果当前价格高于MA,买入股票;如果当前价格低于MA,卖出股票。
2. 代码解读:
2.1 ma.ini
复制代码
2.2 ma.py
(详细代码见
证经社
——http://zjshe.cn/q/forum.php?mod=viewthread&tid=53&extra=page%3D1)
3.Python相关函数
3.1 Python标准函数:
功能
函数原型
参数
返回值
参数名
含义
join
连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
'sep'.join(seq)
sep
分隔符。可以为空
返回一个以分隔符sep连接各个元素后生成的字符串
seq
要连接的元素序列、字符串、元组、字典
len
返回对象(字符、列表、元组等)长度或项目个数。
len(s)
s
对象
返回对象长度。
deque
Python标准库collections中的一项. 它提供了两端都可以操作的序列, 这意味着, 你可以在序列前后都执行添加或删除.
deque()
reverse
用于反向列表中元素
list.reverse()
该方法没有返回值,但是会对列表的元素进行反向排序。
extend
该方法没有返回值,但是会对列表的元素进行反向排序。
list.extend(seq)
seq
元素列表。
该方法没有返回值,但会在已存在的列表中添加新的列表内容。
append
用于在列表末尾添加新的对象。
list.append(obj)
obj
添加到列表末尾的对象。
该方法无返回值,但是会修改原来的列表。
asarray
将输入数据(列表的列表,元组的元组,元组的列表等)转换为矩阵形式
asarray(a,dtype=None,order=None)
a
数组形式的输入数据,包括list,元组的list,元组,元组的元组,元组的list和ndarrays
dtype
数据类型由输入数据推导
round
round(x [, n])
x
数值表达式
返回浮点数x的四舍五入值。
n
数值表达式
3.2 掘金接口函数:
功能
函数原型
参数
返回值
参数名
类型
说明
on_bar
响应Bar事件,收到Bar数据后本函数被调用。
on_bar(bar)
bar
bar
bar数据
无
on_tick
响应Tick事件,收到Tick数据后本函数被调用。
on_tick(tick)
tick
tick
tick数据
无
get_positions
查询当前策略指定symbol(由交易所代码和证券ID组成)和买卖方向的持仓信息。策略类和交易服务类都提供该接口。
get_position(exchange, sec_id, side);
exchange
string
交易所代码
Position对象,持仓信息
sec_id
string
证券代码
side
int
买卖方向
open_long
异步开多仓,以参数指定的symbol、价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口
open_long(exchange, sec_id, price, volume)
exchange
string
交易所代码, 如上交所SHSE
委托下单生成的Order对象
sec_id
string
证券代码,如浦发银行600000
price
float
委托价,如果price=0,为市价单,否则为限价单
volume
float
委托量
close_short
异步平空仓接口,以参数指定的exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。
close_short(exchange, sec_id, price, volume)
exchange
string
交易所代码, 如上交所SHSE
返回委托下单生成的Order对象
sec_id
string
证券代码,如浦发银行600000
price
float
委托价,如果price=0,为市价单,否则为限价单
volume
float
委托量
close_long
异步平多仓接口,以参数指定的exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。
close_long(exchange, sec_id, price, volume)
exchange
string
交易所代码, 如上交所SHSE
委托下单生成的Order对象
sec_id
string
证券代码,如浦发银行600000
price
float
委托价,如果price=0,为市价单,否则为限价单
volume
float
平仓量
open_short
异步开空仓接口,以参数指定的exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。
open_short(exchange, sec_id, price, volume)
exchange
string
交易所代码, 如上交所SHSE
委托下单生成的Order对象
sec_id
string
证券代码,如浦发银行600000
price
float
委托价,如果price=0,为市价单,否则为限价单
volume
float
平仓量
4. 金融术语
移动平均线:Moving Average,简称MA,原本的意思是移动平均,由于我们将其制作成线形,所以一般称之为移动平均线,简称均线。它是将某一段时间的收盘价之和除以该周期。 比如日线MA5指5天内的收盘价除以5 。
移动平均线常用线有5天、10天、30天、60天、120天和240天的指标。其中,5天和10天的短期移动平均线,是短线操作的参照指标,称做日均线指标;30天和60天的是中期均线指标,称做季均线指标;120天、240天的是长期均线指标,称做年均线指标。移动平均线的计算方式有多种,最常用而简单的是算术移动平均,又称为简单移动平均(SMA),计算公式为:ma=(c1+c2+....+cn)/n。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
唉人好累66
2017-7-26 09:57:42
后续还会继续上干货策略,好东西希望和大家一起分享,如果想了解更多精彩的量化方面的内容进入证经社——http://zjshe.cn/q/forum.php?gid=36了解更多吧~
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
藤椅
唉人好累66
2017-7-26 13:16:02
顶顶顶干货莫沉~
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
栏目导航
量化投资
数据分析师(CDA)专版
经管文库(原现金交易版)
经管高考
stata专版
行业分析报告
热门文章
CDA 认证考试大纲 2025 重磅更新:一二级考 ...
CDA数据分析师实战:因子分析的业务应用与落 ...
Gemini准确率从21%飙到97%!谷歌只用了这一 ...
Introductory Econometrics: A Modern Appr ...
如盈财女:1.19黄金回踩顺势做多,原油高空 ...
CDA数据分析脱产就业班于2025年12月08日开班 ...
optimization algorithms: ai techniques f ...
兴业研究-库存周期分析
【资料共享】Python入门资料与产品经理学习 ...
《蹒跚前行:1870—2010年全球经济史》【美 ...
推荐文章
【必看】【本版版规,欢迎发悬赏贴求助】
26年寒假天津站|Gemini论文写作&数据分析 ...
2026JG学术冬训营:从Stata初高到Python机器 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群