正如jeeavn老师前面一直所讲的,量化交易是指投资者利用计算机技术、金融工程建模等手段,将金融操作的策略加以定义和描述,并且严格按照所设定的规则去执行交易策略(买卖、价格、数量等)的自动交易方式,以协助投资决策。
如今国内市面上也有很多的量化平台基本采用“初始化函数→从平台数据库取出数据→每 个周期执行调仓函数→回测完成→计算统计量→绘制曲线”的逻辑过程。
目前市面上比较流行的量化平台有优矿、聚宽和米筐等,目前各大平台均已支持 Python3 和 Java。量化交易品种而言呢,大部分平台都是支持CTP期货自动交易的,但是绝大部分如果要做股票自动交易依然还是比较困难,都由资金要求。这个是国内的特色,不再多说咯。
行情模拟交易需求分析及框架设计
我们模拟一个以多头趋势回踩策略为主决策依据,实现一个全自动化量化交易系统,并进行关键参数优化;其思路是根据若干条均线呈现出的形态,判断一支股票是否处于多头强势状态,并抓住回调的时机低位买入;再进一步分析市场状态、均线周期、买入均线和止损触发条件等关键参数对量化策略的贡献效果。
我们设计的策略系统如下,包括以下8大部分:
- 策略模型、
- 牛熊判断、
- 参数设置、
- 买入判断、
- 卖出判断、
- 计算统计、
- 绘制曲线
- 平台数据库

策略系统设计框架
以上是一个完整的量化交易系统应该包括的框架部分。下面我们来看下量化交易设计流程是什么样的。我们看下图:

交易系统关键部分流程图
以上是系统交易主要逻辑流程,包括参数设置,股票池选定股票,执行多空判断,执行买卖动作等。
核心交易策略逻辑及代码设计
按照上面的交易逻辑设计,我们交易流程的策略逻辑设计如下:
(1) 选定股票池,并选定一系列参数;
(2) 一组均线天数[N1,N2,N3,…,Nk]:总数量 k 限制,按照从小到大排列。当相应天数的移动均线是从大到小排列时,为多头排列格局;
(3) 趋势天数 T:当上面指定的移动均线在 T 天内都处于多头排列时,判断价格处于多头趋势;
(4) 回撤均线 M:当前一天的最收盘价低于 M 日均线时时判断为回撤;
(5) 持 有股票上限 num_stocks:同 时最多持仓
num_stocks 支股票。
(6) 止损比例 D 和止盈比例 U:当股票价格高出买入价的 U 倍,或低于买入价的 D 倍时,卖出股票。
部分程序核心代码如下:
for security in in_trend_stocks: # 获取历史收盘价
past_prices = attribute_history(security,g.test_ma_length, '
1d', 'close', skip_paused = True) # 计算均线
test_ma = sum(past_prices).iloc[0] / g.test_ma_length
# 获取站住均线数据
past_prices_2 = attribute_history(security, g.stand_ma_ length, '1d', 'close', skip_paused= True)
# 计算均线
stand_ma = sum(past_prices_2).iloc[0] / g.stand_ma_length # 计算 bias 基准线
past_prices_3= attribute_history(security,g.bias_ma_length,
'1d', 'close', skip_paused = True)
bias_ma = sum(past_prices_3).iloc[0] / g.bias_ma_length # 获取昨日信息
previous_history = attribute_history(security, 1, '1d',
['close','low'])
# 昨日收盘价
current_price = previous_history['close'].iloc[0] # 昨日最低价
previous_low = previous_history['low'].iloc[0]
以上代码块,我们是基于聚宽平台上编辑,仅供参考。
程序运行结果及优化
经过不同单项的海量测试,以及分析前 10 大持仓、前 5 大回撤区间、行业配比、Sharpe、持仓比例分析和风险控制等,发现买入均线、止损条件和均线周期影响作用较大;最佳参数设定:回撤线 20 日线;止损点设定 0.5%;止盈点按回撤盈利的 5%;另外,因牛熊市不同市场状态差异较大,在熊市以采用 BIAS 乖离率策略辅助为佳。最终盈利曲线结果图下图所示:

我们模拟的数据是从2005年到2018年,经过 2005 年~2018 年多轮牛熊转换交替的回撤模拟,总体收益率达到 1652%,平均年化收益率 25%,最大回撤仅为 29%,相较指数有稳定盈利。
以上就是我们经过对市场状态、均线周期、止损条件和选股买入均线等关键参数的优化,并进一步通过在牛熊市采用差异化交易策略,较单独采用多头策略模式,获得了更佳的市场收益。
但是,这是不是意味着我们用这个简单的均线就可以实现稳定盈利?
答案显然是不是的,以上的盈利曲线,看似很美好,但是实际上是经过拟合优化的,相当于是知道未来的行情后,再对曲线进行了一侧参数优化,具有未来函数的效应。因此,这个方法策略,实际上并不是适用于我们的实盘中。
结语
我们通过这个简单的策略设计后,可以对量化交易入门,对策略的设计及止损等有一个整体的理解。希望对大家能有所帮助。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/76859
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!