楼主: 唉人好累66
1313 4

[原创博文] 【干货分享】从零开始学量化:06技术指标MA策略 [推广有奖]

  • 0关注
  • 41粉丝

讲师

55%

还不是VIP/贵宾

-

威望
1
论坛币
1457 个
通用积分
5.0477
学术水平
11 点
热心指数
14 点
信用等级
11 点
经验
3660 点
帖子
214
精华
0
在线时间
119 小时
注册时间
2016-9-24
最后登录
2020-4-8

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
1. 策略原理:
     基于ta-lib的MA策略。如果当前价格高于MA,买入股票;如果当前价格低于MA,卖出股票。

2. 代码解读:
    2.1 ma.ini
  1. [strategy]
  2. username=
  3. password=
  4. ;回测模式
  5. mode=4
  6. td_addr=localhost:8001
  7. strategy_id=
  8. ;订阅代码注意及时更新
  9. subscribe_symbols=SHFE.ag1705.tick,SHFE.ag1705.bar.60

  10. [backtest]
  11. start_time=2017-02-15 21:00:00
  12. end_time=2017-03-07 16:00:00

  13. ;策略初始资金
  14. initial_cash=10000000

  15. ;委托量成交比率,默认=1(每个委托100%成交)
  16. transaction_ratio=1

  17. ;手续费率,默认=0(不计算手续费)
  18. commission_ratio=0.0004

  19. ;滑点比率,默认=0(无滑点)
  20. slippage_ratio=0

  21. price_type=1

  22. ;基准
  23. bench_symbol=SHSE.000300

  24. [para]
  25. trade_exchange=SHFE
  26. trade_symbol=ag1705
  27. window_size=200
  28. bar_type=60
  29. tick_size=1
  30. significant_diff=21
  31. timeperiod=20


  32. ##############################################################
  33. # logger settings
  34. ##############################################################
  35. [loggers]
  36. keys=root

  37. [logger_root]
  38. level=DEBUG
  39. handlers=console,file

  40. [handlers]
  41. keys=console,file

  42. [handler_file]
  43. class=handlers.RotatingFileHandler
  44. args=('ma.log','a','maxBytes=10000','backupCount=5')
  45. formatter=simple

  46. [handler_console]
  47. class=StreamHandler
  48. args = (sys.stdout,)
  49. formatter=simple

  50. [formatters]
  51. keys = simple

  52. [formatter_simple]
  53. format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
  54. datefmt=
复制代码
  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对象返回对象长度。
dequePython标准库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数据类型由输入数据推导
roundround(x [, n])x数值表达式返回浮点数x的四舍五入值。
n数值表达式
3.2 掘金接口函数:
功能函数原型参数返回值
参数名类型说明
on_bar响应Bar事件,收到Bar数据后本函数被调用。on_bar(bar)barbarbar数据
on_tick响应Tick事件,收到Tick数据后本函数被调用。on_tick(tick)tickticktick数据
get_positions查询当前策略指定symbol(由交易所代码和证券ID组成)和买卖方向的持仓信息。策略类和交易服务类都提供该接口。get_position(exchange, sec_id, side);exchangestring交易所代码Position对象,持仓信息
sec_idstring证券代码
sideint买卖方向
open_long异步开多仓,以参数指定的symbol、价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口open_long(exchange, sec_id, price, volume)exchangestring交易所代码, 如上交所SHSE委托下单生成的Order对象
sec_idstring证券代码,如浦发银行600000
pricefloat委托价,如果price=0,为市价单,否则为限价单
volumefloat委托量
close_short异步平空仓接口,以参数指定的exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。close_short(exchange, sec_id, price, volume)exchangestring交易所代码, 如上交所SHSE返回委托下单生成的Order对象
sec_idstring证券代码,如浦发银行600000
pricefloat委托价,如果price=0,为市价单,否则为限价单
volumefloat委托量
close_long异步平多仓接口,以参数指定的exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。close_long(exchange, sec_id, price, volume)exchangestring交易所代码, 如上交所SHSE委托下单生成的Order对象
sec_idstring证券代码,如浦发银行600000
pricefloat委托价,如果price=0,为市价单,否则为限价单
volumefloat平仓量
open_short异步开空仓接口,以参数指定的exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。open_short(exchange, sec_id, price, volume)exchangestring交易所代码, 如上交所SHSE委托下单生成的Order对象
sec_idstring证券代码,如浦发银行600000
pricefloat委托价,如果price=0,为市价单,否则为限价单
volumefloat平仓量

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。




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


已有 1 人评分经验 论坛币 收起 理由
残阳_等待 + 100 + 20 精彩帖子

总评分: 经验 + 100  论坛币 + 20   查看全部评分

沙发
唉人好累66 发表于 2017-7-26 09:52:24 |只看作者 |坛友微信交流群
后续还会继续上干货策略,好东西希望和大家一起分享,如果想了解更多精彩的量化方面的内容进入证经社——http://zjshe.cn/q/forum.php?gid=36了解更多吧~

使用道具

藤椅
唉人好累66 发表于 2017-7-26 13:31:41 |只看作者 |坛友微信交流群
顶顶顶~干货莫沉吖

使用道具

板凳
残阳_等待 发表于 2017-7-26 23:47:59 |只看作者 |坛友微信交流群
感谢分享

使用道具

报纸
唉人好累66 发表于 2017-7-27 10:29:59 |只看作者 |坛友微信交流群
谢谢管理员啦~大家一起努力!!!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 23:20