【量化投资】策略一(聚宽)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a19990412/article/details/81950735

简述

在某位大佬的推荐下,发现聚宽这个好用。然后,我开始学着用聚宽来写下策略来玩一玩。

发出来是方便自己回去研究,有人愿意看也可以。

第一个策略,是我在看聚宽教程中的一个多股策略的demo时,有了点想法。
原来的那个策略跑出来效果很难看。所以,我就想能不能改进一下。就有了下面的这个策略

策略思路

  • 既然都说是当前一天的股价高于历史m20的价格时,可以买,那么如果是多股的时候,买入的时候,是否可以按照一定的比例来购买呢?
  • (因为第一个就是直接把第一个买空)
  • 卖的还是跟之前是一样的,如果遇到了小于的画面,那就直接做空。

代码

def initialize(context):
    # 存入兔宝宝、好想你 的股票代码
    g.security = ['002043.XSHE','002582.XSHE']
    g.rate = [0] * len(g.security)
def handle_data(context, data):
    # 把g.security中的股票代码依次取出,逐个进行单股票均线策略

    for i in range(len(g.security)):
        # 获取取得最近日收盘价,命名为last_price
        name = g.security[i]
        last_price = data[name].close
        # 获取近二十日股票收盘价的平均价,命名为average_price
        average_price = data[name].mavg(20, 'close')
        g.rate[i] = (last_price - average_price) / average_price
        if last_price < average_price:
            order_target(name, 0)# 将股票仓位调整到0,即全卖出
            g.rate[i] = 0
    g.rate /= sum(g.rate)
    # 获取当前现金数量,命名为cash
    cash = context.portfolio.cash
    for i in range(len(g.rate)):
        if g.rate[i] > 0:
            order_value(g.security[i], cash * g.rate[i])    

效果

这里写图片描述

一开始很起眼的,但是到后面,就跟大盘一起往下跑了。

不过说起来也是我的第一个靠自己的脑子想出来,并且实现的策略啊。

猜你喜欢

转载自blog.csdn.net/a19990412/article/details/81950735
今日推荐