前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >十行代码实现一个量化交易入门程序

十行代码实现一个量化交易入门程序

作者头像
海天一树
发布2018-04-17 12:58:23
1.2K0
发布2018-04-17 12:58:23
举报
文章被收录于专栏:海天一树

1 在浏览器中打开 www.joinquant.com

2 编写策略代码

点击顶部的“我的策略”,选择子菜单“我的策略”,在左侧输入python代码

代码语言:javascript
复制
def initialize(context):                #初始化
    g.security = '600050.XSHG'        # 股票名:中国联通
def handle_data(context, data):        # 每日循环
    last_price = data[g.security].close    # 取得最近日收盘价
    # 取得过去二十天的平均价格
    average_price = data[g.security].mavg(20, 'close')
    cash = context.portfolio.cash        # 取得当前的现金
    # 如果昨日收盘价高出二十日平均价, 则买入,否则卖出。
    if last_price > average_price:
        order_value(g.security, cash)    # 用当前所有资金买入股票
    elif last_price < average_price:
        order_target(g.security, 0)    # 将股票仓位调整到0,即全卖出

这里600050,是中国联通的股票代号,XSHG代表沪市。 若是想要对“科大讯飞”进行量化,只需要设置 g.security = ‘002230.XSHE’,这里XSHE代表深市。

3 编译运行

点击编译运行,右侧的上半部分显示回测结果,下半部分显示日志和错误。

这里默认的统计时间为2016-6-1到2016-12-31,若想改成自定义的时间需要注册并登录。

4 名词解释

(1)基准收益就是大盘的收益。

(2)策略收益就是你的策略所能产生的收益。“好”策略的收益至少要超过基准收益。

(3)阿尔法:投资中面临着系统性风险(即Beta)和非系统性风险(即Alpha),Alpha是投资者获得与市场波动无关的回报,一般用来度量投资者的投资技艺。比如投资者获得了12%的回报,其基准获得了10%的回报,那么Alpha或者价值增值的部分就是2% • α>0,策略相对于风险,获得了超额收益 • α=0,策略相对于风险,获得了适当收益 • α<0,策略相对于风险,获得了较少收益

(4)贝塔:表示投资的系统性风险,反映了策略对大盘变化的敏感性。例如一个策略的Beta为1.3,则大盘涨1%的时候,策略可能涨1.3%,反之亦然;如果一个策略的Beta为-1.3,说明大盘涨1%的时候,策略可能跌1.3%,反之亦然

(5)夏普比率:表示每承受一单位总风险,会产生多少的超额报酬,可以同时对策略的收益与风险进行综合考虑。

(6)最大回撤是一个风险指标,衡量极端风险,表示在测试区间内最大的可能浮亏。注意这里是浮亏,不是亏损。 例如:初始净值为1元,后来增长到最高点1.6元,近期跌到最低点1.6元。则最大回撤为 (1.6 - 0.6) / 1.6 = 62.5%。

5 分析

图2中的基准收益为4.43%,策略收益为66.69%,远高于基准收益。这说明这个策略在2016-06-01至2016-12-31这段时间内,若用于中国联通股票,会产生很可观的收益。

6 换一支股票试试

将g.security = ‘600050.XSHG’改为g.security = ‘002230.XSHE’,这里002230是“科大讯飞”的股票代号。 编译运行后,发现策略收益为-2.90%。这说明,在2016-06-01至2016-12-31,对于科大讯飞股票,若使用了程序中的策略,会产生很差的收益。

7 总结

从上面针对两支股票运行同一策略所产生的不同效果来看,同一策略对不同的股票所起的作用是不一样的。好的策略应该选取多种不同的指标进行策略组合,以提高策略收益和策略的稳定性。本文所演示的策略仅仅是为了让初学者了解策略的大体过程。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海天一树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 在浏览器中打开 www.joinquant.com
  • 2 编写策略代码
  • 3 编译运行
  • 4 名词解释
  • 5 分析
  • 6 换一支股票试试
  • 7 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档