import numpy as np
import pandas as pd
from scipy import stats
# 初始化此策略
def initialize(context):
#对比标的
set_benchmark('000300.XSHG')
#设置佣金
set_commission(PerTrade(buy_cost=0.0003, sell_cost=0.0003, min_cost=5))
# 定义一个全局变量, 保存要操作的股票
# 600000(股票:浦发银行)
g.security = '600000.XSHG'
# 设置我们要操作的股票池, 这里我们只操作一支股票
set_universe([g.security])
#================================================================================
#该函数每个单位时间会调用一次, 如果按天回测,则每天调用一次,如果按分钟,则每分钟调用一次
#data: 一个字典(dict), key是股票代码, value是当时的SecurityUnitData 对象.
#存放前一个单位时间(按天回测, 是前一天, 按分钟回测, 则是前一分钟) 的数据.
def handle_data(context, data):
#取得当前的现金
cash=context.portfolio.cash
security = g.security
#回测环境专用API,查看某一支股票的历史数据, 可以选这只股票的多个属性, 默认跳过停牌日期.计算90天浦发银行的四分位情况
#学到这里发现要有numpy和pandas基础
h=attribute_history(security, 90, unit='1d', fields=('close'), skip_paused=True)
哎,学一半发现难以绕过著名数据分析模块
最新推荐文章于 2024-10-18 12:49:57 发布