也就运行了50个股票的120天的日数据,这个数量也不算多的
import pandas as pd
import talib
from pandas.tseries.offsets import Day
def init(context):
context.sec_codes=get_blocks('A股板块',2)
context.turnover_period1=5
context.turnover_period2=30
def getTrunOver(context):
result=[]
for i in context.sec_codes:
df1=get_turnover_rate(i,1,context.turnover_period1)
df2=get_turnover_rate(i,1,context.turnover_period2)
def before_trading(context):
print ('before_trading')
print (context.now)
getTrunOver(context)
# 你选择的品种的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新。--(必须实现)
def handle_bar(context):
# 开始编写你的主要的算法逻辑。
#使用buy_open、sell_close等方法下单
#下单示例:
#buy_open(context.s1, "Market", volume = 100) # 市价开多
#buy_open(context.s1, "Limit", 25.45, 100) # 限价开多
print ('now')
print (context.now)
# after_trading函数会在每天交易结束后被调用,当天只会被调用一次。 --(选择实现)
def after_trading(context):
pass
# order_status当委托下单,成交,撤单等与下单有关的动作时,该方法就会被调用。---(选择实现)
#def order_status(context,order):
# pass
# order_action当查询交易接口信息时返回的通知---(选择实现)
#def order_action(context,type, account, datas)
# pass
# exit函数会在测评结束或者停止策略运行时会被调用。---(选择实现)
#def exit(context):
# pass
因为中间有一个000022的品种没了所以导致了奔溃,我们后续修正下这个函数问题
你取有行情的那些品种非下士的都没问题,可以先在软件界面根据成交量排个序,把有行情的加入板块,然后再对此进行计算