返回介绍

第一部分 新手入门

第二部分 股票量化相关

第三部分 基金、利率互换、固定收益类

第四部分 衍生品相关

Contrarian strategy

发布于 2022-02-20 22:26:16 字数 2075 浏览 805 评论 0 收藏 0

Contrarian strategy similar with Momentum strategy

import pandas as pd 
start = '2010-01-01'                       # 回测起始时间
end = '2015-01-01'                         # 回测结束时间
benchmark = 'SH50'                        # 策略参考标准
universe = set_universe('SH50')
capital_base = 100000                      # 起始资金
longest_history = 40                        # handle_data 函数中可以使用的历史数据最长窗口长度
refresh_rate = 1                           # 调仓频率,即每 refresh_rate 个交易日执行一次 handle_data() 函数


def initialize(account):                   # 初始化虚拟账户状态
    pass

def handle_data(account):                  # 每个交易日的买入卖出指令
    returndata = {'symbol':[], 'ret':[]}
    history_data = account.get_attribute_history('closePrice',40)
    for s in account.universe:
        returndata['symbol'].append(s)
        returndata['ret'].append(history_data[s][-1] / history_data[s][0])
    returndatanew = pd.DataFrame(returndata).sort(columns = 'ret').reset_index()
    returndatanew = returndatanew[0:len(returndatanew)/5]
    buylist = returndatanew['symbol'].tolist()

    for cur in account.valid_secpos:
        if cur not in buylist:
            order_to(cur,0)
    for sym in buylist:
        if sym not in account.valid_secpos:
            order_to(sym,300)

worse than Momentum strategy

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文