ATC冠军访谈:LCS交易系统揭秘
从神经网络到学习分类器系统的算法演进
访谈背景与人物介绍
Alexander Topchylo(论坛ID:Better)是2007年自动化交易锦标赛(ATC 2007)的冠军。他的获奖EA基于神经网络,在当年的最佳EA榜单中名列前茅。在2010年ATC开赛前,他接受了官方访谈,分享了自己离开锦标赛后的真实职业路径、对市场的认知变化,以及全新研发的多货币交易系统。这篇访谈的价值不在于代码本身,而在于一位实盘资金管理规模可观的交易者,如何思考算法衰减、市场有效性与技术迁移。
对于中文交易者而言,很多教程只教如何写指标,却很少讨论‘策略生命周期’与‘实盘资金管理结构’。Topchylo从竞赛冠军转型为PAMM账户管理者,他的视角介于散户与机构之间,非常具有参考价值。他明确说自己不卖EA、不接定制开发,只做外汇实盘与代客理财,这种定位在当时的俄罗斯社区颇具代表性。
锦标赛之后的职业转型
在ATC 2008之后两年,Topchylo并没有继续参加竞赛,而是将精力放在自有资金支持的交易上。夺冠经历成为他个人业务的强力广告,使他开始对接投资人、管理PAMM账户。他认为,锦标赛胜利证明了策略在极端公开环境下的鲁棒性,这种信用背书比任何营销话术都有效。
他管理的投资人资金大多通过多家经纪商的PAMM系统运作,而当时这些经纪商主要使用MetaTrader 4平台。PAMM(百分比分配管理模式)允许交易员匿名操盘,投资人仅看到权益曲线。但Topchylo反对这种‘黑盒’模式,主张完全透明:任何潜在投资人都能在他网站看到三年、超过三千笔交易的完整历史,无需注册即可查看监控。
PAMM运作与资金结构误区
关于PAMM账户是否需要交易员自有资金投入,Topchylo指出:新型PAMM服务已支持交易员零本金匿名交易,投资人只买权益曲线。但他自己选择相反路径——用完整披露建立信任。这种差异说明,技术能力之外,资金募集模式决定了你该选哪种合规架构。
他也提到一个极端案例:某投资人要求‘月收益保底100%’才肯入金。这类诉求在零售外汇中并不罕见,但任何严肃的系统化交易者都应识别为不可承接的风险。市场效率随时间提升,稳定暴利假设本身就不成立。
从MQL4到MQL5的迁移体验
Topchylo评价从MQL4迁移到MQL5‘并不困难’。核心工作在于重写订单交易模块(trade operations),而决策算法层基本不变。对他而言,MQL5最大的吸引力是面向对象编程(OOP),使得大型项目开发显著简化。这一点对中文开发者尤为重要:当你从单一EA转向多策略组合框架时,类的继承与封装能大幅降低维护成本。
他当时准备进军美股与期货,并希望借助MetaTrader 5统一终端交易多类资产。这表明,平台选型的长期价值在于资产类别扩展性,而非单一外汇品种的语法习惯。
// 简化的MQL5持仓下单示例(基于原文重写交易操作思路)
#include <Trade/Trade.mqh>
CTrade trade;
void OnTick()
{
double lot = 0.1;
if(PositionSelect(_Symbol) == false)
{
trade.Buy(lot, _Symbol);
}
}
市场有效性认知与算法演化
Topchylo提出一个关键观点:经济学家声称外汇是有效市场、只能靠运气赚钱,这并不全对。外汇非常接近有效,但不时会出现可获利的‘低效规律’。有些低效仅持续很短时间,有些则存在数月。交易者的任务就是发现并利用它们。没有任何单一系统能永久盈利——就像生命现象,交易系统终会衰退、停止赚钱,也可能在未来某个阶段重新有效。
他进一步预判:参与人数越多,市场流动性与有效性越高,获利越难。因此,优势将属于那些在开发中使用先进技术与分析工具的人。未来更多系统会基于计算数学最新算法,手动交易逐步被自动交易取代。这个判断在十余年后看,基本被验证。
学习分类器系统(LCS)原理
在ATC 2007中,Topchylo使用神经网络EA夺冠,但到2010年他转向了学习分类器系统(Learning Classifier Systems, LCS)。他表示,LCS比‘神经网络委员会’更有前景。与复杂神经网络不同,LCS中每个分类器(classifier)形式极简单,但因计算轻量,系统中可并行使用数十甚至数百个。
LCS通过遗传算法进行学习与进化。单个分类器结构为:条件1 条件2 … 条件N : 动作 : 强化值。条件部分是简单逻辑表达式,例如SAR<收盘价、MA<收盘价等。条件编码为字符链:‘0’表示假,‘1’表示真,‘#’表示不关心(don't care)。动作编码为‘1’(多头)或‘0’(空头)。强化值根据预测准确度动态变化。
系统训练流程如下:先计算所需指标,构造对应条件的字符串;从当前种群中筛选匹配分类器进入匹配集[M];再从[M]中按累积强化值形成动作集[A];向交易系统发送信号,并记忆[A]以便后续根据预测准确度修正强化值。LCS对输入数据流变化具备自适应能力,非常适合金融序列分析。
// LCS分类器条件示例(伪代码思路,非完整EA)
// Condition1: SAR(0.02,0.2) < CLOSE
// Condition2: MA(10) < CLOSE
// Condition3: MOMENTUM(20) < 100
// Condition4: ADX(40) < 15
// 编码为字符串如 '0011' 表示条件3、4成立
string EncodeConditions()
{
string s = "";
s += (iSAR(_Symbol,0,0.02,0.2,0) < iClose(_Symbol,0,0)) ? "0":"1";
s += (iMA(_Symbol,0,10,0,MODE_SMA,PRICE_CLOSE,0) < iClose(_Symbol,0,0)) ? "0":"1";
s += (iMomentum(_Symbol,0,20,PRICE_CLOSE,0) < 100) ? "0":"1";
s += (iADX(_Symbol,0,40,0) < 15) ? "0":"1";
return s;
}
多货币系统与资金管理方案
2010年参赛EA是一个多货币系统,候选货币对包括EUR/USD、USD/CHF、GBP/USD、USD/CAD、EUR/JPY。资金管理沿用2007年方案:初始资金按比例分配给各子系统(货币对),之后各系统独立运行;仓位大小与对应子系统当前资金规模成正比。绩效低的子系统逐步缩仓,成功的子系统自动增仓。
他强调,多货币与单货币EA在15手限制下获胜概率均等。对于中文交易者,这种‘子系统独立风控+资本权重再平衡’的思路,比简单马丁或网格更经得起实盘考验。
对自动化交易者的长期建议
Topchylo认为,锦标赛中即便EA表现不如往年,也不算失败——因为参赛零风险、收获的经验极有价值。实盘中出问题可修,竞赛中只能旁观。他建议自动化交易者坚持方向:手动交易会被自动交易逐步替代,使用最新计算数学构建系统是正确的路。
结合当下中文社区环境,这意味着:与其追逐‘稳赚EA’销售话术,不如沉淀自己的算法工程能力,理解策略衰减、市场微结构变化,并利用MQL5的OOP与回测框架做严谨验证。
- 策略有生命周期,需定期评估与再训练
- LCS等轻量可进化算法适合金融序列
- 资金管理应采用子系统独立权重再平衡
- 平台选型看重资产扩展与OOP开发效率
- 代客理财透明度是长期信用基础