请选择 进入手机版 | 继续访问电脑版
楼主: 唉人好累66
2185 2

[交易策略] 【干货分享】从零开始学量化;19AR-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.策略原理及逻辑
   1.1策略原理
人气指标(AR)和意愿指标(BR)都是以分析历史股价为手段的技术指标,其中人气指标较重视开盘价格,从而反映市场买卖的人气;意愿指标则重视收盘价格,反映的是市场买卖意愿的程度,两项指标分别从不同角度股价波动进行分析,达到追踪股价未来动向的共同目的。
  人气指标是以当天开市价为基础,即以当天市价分别比较当天最高,最低价,通过一定时期内开市价在股价中的地位,反映市场买卖人气。
计算公式:

  其中:H=当日最高价;L=当日最低价;O=当日开市价
  N为公式中的设定参数,一般设定为26日。
人气指标的基本应用法则:
(1)AR值以100为中心地带,其±20之间,即AR值在80-120之间波动时,属盘整行情,股价走势比较平稳,不会出现剧烈波动。
(2)AR值走高时表示行情活跃,人气旺盛,过高则表示股价进入高价,应选择时机退出,AR值的高度没有具体标准,一般情况下,AR值上升至150以上时,股价随时可能回档下跌。
(3)AR值走低时表示人气衰退,需要充实,过低则暗示股价可能跌入低谷,可考虑伺机介入,一般AR值跌至70以下时,股价有可能随时反弹上升。
(4)从AR曲线可以看出一段时期的买卖气势,并具有先于股价到达峰或跌入谷底的功能,观图时主要凭借经验,此策略配合MA一同使用。
(5)MA:在上升行情进入稳定期,短周期、中周期、长周期移动平均线从上而下依次顺序排列,向右上方移动
在下跌行情中,短周期、中周期、长周期移动平均线自下而上依次顺序排列,向右下方移动,称为空头                        排列,预示股价将大幅下跌。
   1.2策略逻辑
  • AR值<75,且MA(5)>MA(10)>MA(30),买入
  • AR值>130,且MA(5)<MA(10)<MA(30),卖出

2.策略代码
  2.1配置文件【ar_ma_stock.ini】(提示ini配置文件,需要保存成UTF8格式)
  1. [strategy]
  2. username=
  3. password=
  4. ;回测模式
  5. mode=4
  6. td_addr=localhost:8001
  7. strategy_id=
  8. subscribe_symbols=

  9. [backtest]
  10. start_time=2015-03-01 09:00:00
  11. end_time=2017-08-07 15:00:00

  12. ;策略初始资金
  13. initial_cash=1000000

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

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

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

  20. ;行情复权模式,0=不复权,1=前复权
  21. price_type=1

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

  24. [para]
  25. ;数据订阅周期
  26. bar_type=86400

  27. ;AR周期
  28. ar_period=26

  29. ;AR人气指标
  30. ar_upr=130
  31. ar_dwn=75


  32. ;MA周期
  33. short_period=5
  34. mid_period=10
  35. long_period=30

  36. #止盈止损
  37. ;是否固定止盈止损
  38. is_fixation_stop=0
  39. ;是否移动止盈
  40. is_movement_stop=1

  41. ;移动盈利开始比率及固定盈利比率
  42. stop_fixation_profit=0.25
  43. ;亏损比率
  44. stop_fixation_loss=0.068

  45. ;移动止盈比率
  46. stop_movement_profit=0.068


  47. ;累计开仓距离当前的最大交易日
  48. ;若开仓距今超过这个日期,则认为未开过仓
  49. open_max_days=22

  50. ;历史数据长度
  51. hist_size=60

  52. ;开仓量
  53. open_vol=2000

  54. ##############################################################
  55. # logger settings
  56. ##############################################################
  57. [loggers]
  58. keys=root

  59. [logger_root]
  60. level=INFO
  61. handlers=file

  62. [handlers]
  63. keys=file

  64. [handler_file]
  65. class=handlers.RotatingFileHandler
  66. args=('ar_ma_stock.log','a',1000,5)
  67. formatter=simple

  68. [handler_console]
  69. class=StreamHandler
  70. args = (sys.stdout,)
  71. formatter=simple

  72. [formatters]
  73. keys = simple

  74. [formatter_simple]
  75. format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
  76. datefmt=
复制代码
  2.2策略文件【ar_ma_stock.py】(代码过长无法上传,详细代码见证经社——
                  http://***/q/forum.php?mod=viewthread&tid=107&page=1&extra=#pid153)
3.代码涉及的函数代码
    3.1 python函数及package

功能函数原型参数返回值
参数名含义
sys提供了一系列有关Python运行环境的变量和函数。



sys.argv[0]当前程序名
sys.argv获取当前正在执行的命令行参数的参数列表(list)。sys.argvsys.argv[1]第一个参数
sys.argv[2]第二个参数
arrow标准的时间日期库。
ta-lib被广泛应用的金融市场数据分析的库
pandasPython Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的
numpy一套用于支持科学计算的python第三方库
time返回当前时间的时间戳time.time()

返回当前时间的时间戳
len返回对象(字符、列表、元组等)长度或项目个数。len(s)s对象返回对象长度。
append用于在列表末尾添加新的对象。list.append(obj)obj添加到列表末尾的对象。该方法无返回值,但是会修改原来的列表。

      3.2掘金接口函数

功能函数原型参数
参数名类型说明
on_bar响应Bar事件,收到Bar数据后本函数被调用。on_bar(bar)barbarbar数据
open_long异步开多仓,以参数指定的symbol、价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口open_long(exchange, sec_id, price, volume)exchangestring交易所代码, 如上交所SHSE
sec_idstring证券代码,如浦发银行600000
pricefloat委托价,如果price=0,为市价单,否则为限价单
volumefloat委托量
close_long异步平多仓接口,以参数指定的exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。close_long(exchange, sec_id, price, volume)exchangestring交易所代码, 如上交所SHSE
sec_idstring证券代码,如浦发银行600000
pricefloat委托价,如果price=0,为市价单,否则为限价单
volumefloat平仓量
open_short异步开空仓,以参数指定的symbol、价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口open_short(exchange, sec_id, price, volume)exchangestring交易所代码, 如上交所SHSE
sec_idstring证券代码,如浦发银行600000
pricefloat委托价,如果price=0,为市价单,否则为限价单
volumefloat委托量
close_short异步平空仓接口,以参数指定的exchange, 证券代码sec_id, 价和量下单。如果价格为0,为市价单,否则为限价单。策略类和交易服务类都提供该接口。close_long(exchange, sec_id, price, volume)exchangestring交易所代码, 如上交所SHSE
sec_idstring证券代码,如浦发银行600000
pricefloat委托价,如果price=0,为市价单,否则为限价单
volumefloat平仓量
get_last_n_dailybars提取单个代码的最新n条DailyBar数据, 策略类和行情服务类都提供该接口。get_last_n_dailybars(symbol, n, end_time='')symbolstring证券代码, 带交易所代码以确保唯一,如SHSE.600000
nint提取的数据条数
end_timestring指定截止时间, 如2015-10-30 15:00:00
get_dailybars提取指定时间段的历史Bar数据,支持单个代码提取或多个代码组合提取。策略类和行情服务类都提供该接口。get_dailybars(symbol_list, begin_time, end_time)symbol_liststring证券代码, 带交易所代码以确保唯一,如SHSE.600000,同时支持多只代码
begin_timestring开始日期, 如2015-10-19
end_timestring结束日期, 如2015-10-30
get_position查询当前策略指定symbol(由交易所代码和证券ID组成)和买卖方向的持仓信息。策略类和交易服务类都提供该接口。get_position(exchange, sec_id, side);exchangestring交易所代码
sec_idstring证券代码
sideint买卖方向







二维码

扫码加我 拉你入群

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

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

关键词:从零开始 移动平均线 移动平均 技术指标 计算公式

西门高 发表于 2017-8-11 10:15:36 |显示全部楼层 |坛友微信交流群
谢谢分享

使用道具

西门高 发表于 2017-8-11 10:15
谢谢分享
不用客气一起努力呀~后续还会更新其他干货资源继续关注哈

使用道具

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

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

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

GMT+8, 2024-4-17 03:33