美文网首页
用Python编写简单股票策略

用Python编写简单股票策略

作者: 诗与星空 | 来源:发表于2017-06-07 20:50 被阅读3750次

尝试用Ruby写股票策略了一段时间,虽然能捉到实时和历史的股票数据,发现根本找不到复杂的函数库可以用,导致无法进行深入的分析。倒是Python有非常丰富的第三方库,由于二者都是面向对象的语言,差别不大,因此很容易学会Python的基本语法,然后照着葫芦画瓢,做了一个交易策略。

我对股市了解太少,只采用了最简单的一个策略:追涨杀跌。

核心就是取得股票池中股票20日收盘价的平均价,一旦超出,就全仓买入,一旦低于20日收盘价的平均价,就卖出。仓位按照股票数均分,本文股票池以兔宝宝、好想你为例。

代码如下:

def initialize(context):
    # 存入兔宝宝、好想你 的股票代码,沪市用.XSHG,深市用.XSHE
    g.security = ['002043.XSHE','002582.XSHE']

def handle_data(context, data):
# 把g.security中的股票代码依次取出,逐个进行单股票均线策略
    for i in g.security:
        # 获取取得最近日收盘价,命名为last_price
        last_price = data[i].close
        # 获取近二十日股票收盘价的平均价,命名为average_price
        average_price = data[i].mavg(20, 'close')
        # 获取当前现金数量,命名为cash
        cash = context.portfolio.cash
        # cash除以g.security中的股票数,得到per_cash
        per_cash = cash/len(g.security)
        # 如果昨日收盘价高出二十日平均价, 则买入,否则卖出。
        if last_price > average_price:
            order_value(i, per_cash)# 用当前所有资金买入股票
        elif last_price < average_price:
            order_target(i, 0)# 将股票仓位调整到0,即全卖出

做了一下2017年3月至今的回测,盈利率感人... ...

兔宝宝好想你回测

换了这周关注的四支股票,做了以下回测,赔哭了... ...

股票池回测

相关文章

网友评论

      本文标题:用Python编写简单股票策略

      本文链接:https://www.haomeiwen.com/subject/oxbafxtx.html