19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。
接下来会对于金字塔平台介绍。
金字塔(Pyramid)交易平台是国内一款广受欢迎的量化交易工具,支持多市场、多品种的量化交易策略开发、回测和实盘交易。金字塔平台提供直观的图形界面和脚本语言(PLS),适合既懂编程又有投资经验的交易者使用。
本文以经典的“双均线策略”为例,演示在金字塔平台上开发、回测及优化量化交易策略的完整流程。
1. 策略背景:双均线交叉策略
策略逻辑
双均线交叉策略是一种趋势跟随策略,利用短期均线与长期均线的交叉来判断市场的多空信号:
- 买入信号:短期均线向上穿过长期均线(黄金交叉)。
- 卖出信号:短期均线向下穿过长期均线(死亡交叉)。
适用市场
适用于趋势性较强的品种,如股票、期货和外汇等。
2. 策略开发
金字塔使用脚本语言PLS(Pyramid Language Script)来开发策略。以下代码实现了双均线策略的基本逻辑。
(1)策略代码
{初始化参数}
参数: 短期均线周期(5), 长期均线周期(20), 初始资金(100000), 手续费率(0.0002);
{变量定义}
变量: 短期均线(0), 长期均线(0), 持仓状态(0);
{策略主逻辑}
开始
如果 当前K线序号 >= 长期均线周期 则
短期均线 := 均线(收盘价, 短期均线周期);
长期均线 := 均线(收盘价, 长期均线周期);
{买入逻辑}
如果 短期均线 > 长期均线 且 持仓状态 = 0 则
买入(全部可用资金);
持仓状态 := 1;
{卖出逻辑}
如果 短期均线 < 长期均线 且 持仓状态 = 1 则
全部卖出;
持仓状态 := 0;
结束;
结束;
结束;
3. 策略回测
金字塔平台提供了强大的回测功能,可以验证策略的历史表现。
(1)设置回测参数
用户需在回测界面中配置以下参数:
- 回测时间范围:如2018-01-01至2023-01-01。
- 初始资金:100,000元。
- 标的品种:沪深300指数(
000300.SH
)。 - 手续费率:0.02%。
(2)运行回测
运行回测后,平台将生成一份详细的报告,包括收益曲线、绩效指标和交易详情。
5. 策略优化
(1)参数优化
通过调整短期和长期均线的周期,寻找策略的最佳参数组合。
优化代码如下:
{参数优化}
参数: 短期均线周期(从 3 到 10 步长 1), 长期均线周期(从 15 到 30 步长 1);
运行优化后,平台会自动生成不同参数组合下的策略表现,输出最佳参数。
优化结果:
- 最佳短期均线周期:7
- 最佳长期均线周期:25
(2)加入风险管理
为策略添加止盈止损逻辑,控制极端行情下的风险。
变量: 持仓成本(0), 当前价格(0);
{止盈止损逻辑}
开始
如果 持仓状态 = 1 则
持仓成本 := 最近成交均价;
当前价格 := 最新价格;
如果 (当前价格 / 持仓成本 - 1) >= 0.1 则 {止盈10%}
全部卖出;
持仓状态 := 0;
如果 (当前价格 / 持仓成本 - 1) <= -0.05 则 {止损5%}
全部卖出;
持仓状态 := 0;
结束;
结束;
结束;