原文策略源码如下:
#机器学习SVM用法示例策略
from sklearn import svm
import numpy as np
#初始化
def initialize(context):
#设置标的
g.stock = ‘600085.XSHG’
#设置基准
set_benchmark(g.stock)
#过滤掉order系列API产生的比error级别低的log
log.set_level(‘order’, ‘error’)
#设置数据长度
g.days = 22
#设置定时任务
run_weekly(trade_func,3, time=‘open’)
#定时任务函数
def trade_func(context):
prediction = svm_prediction(context)
if prediction == 1:
cash = context.portfolio.total_value
order_target_value(g.stock,cash)
else:
order_target_value(g.stock,0)
#结果预测
def svm_prediction(context):
#获取标的的历史数据
stock_data = get_price(g.stock, frequency=‘1d’,end_date=context.previous_date,count=252)
date_value = stock_data.index
close = stock_data[‘close’].values
#用于记录日期的列表
date_list = []
# 获取行情日期列表
#转换日期格式