返回介绍

第一部分 新手入门

第二部分 股票量化相关

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

第四部分 衍生品相关

macross

发布于 2022-02-20 22:26:15 字数 2946 浏览 941 评论 0 收藏 0

#第一次写大家帮看看有问题么
#策略 : 日收盘价高于ma20 买入; 低于ma20 卖出清仓
from matplotlib import pylab
import numpy as np
import pandas as pd
import DataAPI
import seaborn as sns
sns.set_style('white')
################

start = datetime(2008, 1, 1)                # 回测起始时间
end  = datetime(2015, 4, 23)                # 回测结束时间
benchmark = 'SH50'                            # 策略参考标准
universe = ['510050.XSHG']    # 股票池
#benchmark = 'HS300'
#universe = ['510300.XSHG']
capital_base = 100000     # 起始资金
commission = Commission(0.0,0.0)

window_short = 20
window_long = 300
longest_history = window_long
#longest_history = window_short
SD = 0.05

def initialize(account):                    # 初始化虚拟账户状态
    account.fund = universe[0]
    account.SD = SD
    account.window_short = window_short
    account.window_long = window_long

def handle_data(account):             # 每个交易日的买入卖出指令
    hist = account.get_history(longest_history)
    fund = account.fund
    short_mean = np.mean(hist[fund]['closePrice'][-account.window_short:]) # 计算短均线值
    long_mean = np.mean(hist[fund]['closePrice'][-account.window_long:])   #计算长均线值
    now_price = hist[fund]['closePrice'][-1:]
    #print len(short_mean)
    #print type(now_price)
    #print(now_price)

    #now_price.plot
    #all_close_prices = account.get_attribute_history('closePrice', 1)

    # 计算买入卖出信号
 #   flag = True if (short_mean - long_mean) > account.SD * long_mean else False 
    flag = True if (now_price - short_mean) > account.SD * short_mean else False 
    if flag:
        if account.position.secpos.get(fund, 0) == 0:
            # 空仓时全仓买入,买入股数为100的整数倍
            approximationAmount = int(account.cash / hist[fund]['closePrice'][-1]/100.0) * 100
            order(fund, approximationAmount)
    else:
        # 卖出时,全仓清空
        if account.position.secpos.get(fund, 0) >= 0:
            order_to(fund, 0)

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

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

发布评论

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