选择太多,有时候反而无从选择。
许多做量化的兄弟开始入行时,总是兴奋地一个个地尝试各种指标,在各种花样的过拟合中徜徉。(当然,我也不能免俗。)
单独一个指标有时候确实能起到比较好的参考作用。但有些时候指标之间是会有矛盾的,例如震荡指标和趋势指标如果叠加使用,有时候会产生比较矛盾的情况。
纵然有量化界神仙能同时驾驭各类指标,但作为量化新人,建议还是从简单学起,先精,后多。
下面分享一个简单的双均线模型,证明一下有时候容易过拟合,但在一些情况下简单的指标也有其独特的作用:
1、策略灵感
上一期我们提及沥青和原油的关系之后,我寻思着沥青近期可能走势会偏空一些,尝试搭建一个基础的双均线模型来做空,看看收益如何。
初始资金:10W
均线:15和26
级别:分钟
2、收益情况:及其朴素
3、资金曲线:马马虎虎

4、源代码:抛砖引玉
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from datetime import date
from tqsdk import TqApi, TqBacktest,TargetPosTask,TqSim
api = TqApi(TqSim(init_balance=100000),web_gui=True,backtest=TqBacktest(start_dt=date(2020, 3, 6), end_dt=date(2020, 4, 30)))
# 获得 bu2006 分钟K线的引用
klines = api.get_kline_serial("SHFE.bu2006", 60)
target_pos_bu = TargetPosTask(api, "SHFE.bu2006")
while True:
api.wait_update()
if api.is_changing(klines):
ma_15 = sum(klines.close.iloc[-15:]) / 15
ma_26 = sum(klines.close.iloc[-26:]) / 26
# 判断开仓条件
if ma_26>ma_15:
print("市价开仓")
target_pos_bu.set_target_volume(-10)
# 判断平仓条件
if ma_26 print("市价平仓")
target_pos_bu.set_target_volume(0)
# 关闭api,释放相应资源
api.close()
——————————————————————————————————————
参考官方文档简单搞出了本系列的首次回测,抛砖引玉。
원저자가 모두 저작권을 보유한 知乎에서 재 인쇄 함.
면책 조항: 본 게시글에 표현된 견해는 전적으로 작성자의 견해이며 Followme의 공식 입장을 대변하지 않습니다. Followme는 제공된 정보의 정확성, 완전성 또는 신뢰성에 대해 책임을 지지 않으며, 서면으로 명시적으로 언급되지 않는 한 해당 내용을 기반으로 취해진 어떠한 조치에 대해서도 책임을 지지 않습니다.

더 오래된 의견은 없습니다. 소파를 가장 먼저 잡으십시오.