返回介绍

第一部分 新手入门

第二部分 股票量化相关

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

第四部分 衍生品相关

Momentum策略

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

import pandas as pd
from pandas import Series, DataFrame

start = datetime(2011, 1, 1)
end = datetime(2014, 8, 1)
benchmark = 'SH50'
universe = set_universe('SH50')
capital_base = 100000
refresh_rate = 10

window = 20

def initialize(account):
    account.amount = 300
    add_history('hist', window)


def handle_data(account):
    momentum = {'symbol':[], 'c_ret':[]}
    for stk in account.universe:
        momentum = pd.DataFrame(momentum)
        momentum = momentum.append([{'symbol':stk,'c_ret':account.hist[stk]['closePrice'].iloc[-1]/account.hist[stk]['closePrice'].iloc[0]}])
        momentum = momentum.sort(columns='c_ret').reset_index(drop=True)      
        momentum = momentum[len(momentum)*4/5:len(momentum)]
        buylist = momentum['symbol'].tolist()

        for stk in account.stkpos:
            if (stk not in buylist) and (account.stkpos[stk]>0):
                order_to(stk, 0)
        for stk in buylist:
            if account.stkpos.get(stk,0) == 0:
                order_to(stk, account.amount)

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

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

发布评论

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