
量化自动交易程序到底在做什么
很多人一听到量化自动交易,脑子里就浮现出一台机器自动帮你赚钱的画面。真相没那么玄乎。量化自动交易程序就是一套写好的规则,让电脑替你盯着行情,该买就买,该卖就卖。它不会累,不会犹豫,也不会因为亏了钱就上头。
股票和期货市场里,价格每时每刻都在跳。人盯盘容易犯两个毛病:一是看到涨了忍不住追,二是看到跌了舍不得割。程序不干这事,它只认条件。条件到了就动手,条件没到就等着。听起来简单,做起来难。难的不是写代码,是写什么规则。
股票和期货的自动交易有什么不一样
股票是T+1,今天买了明天才能卖。期货是T+0,当天可以来回做。这个区别直接决定了程序的设计思路。股票策略的持仓周期通常更长,日内高频在A股基本跑不通。期货可以玩日内,也可以做隔夜,策略灵活度高很多。
期货有杠杆。十倍杠杆意味着价格波动1%,你的本金就波动10%。程序如果没把杠杆算进去,一次极端行情就能把账户打穿。股票没杠杆,最多亏完本金,不会倒欠券商。这一点让股票自动交易的风险控制相对简单,期货则必须把保证金和强平线写进程序里。

交易成本也不一样。股票有印花税、过户费、佣金。期货没有印花税,但有手续费和滑点。滑点就是你想买的价格和实际成交价格的差距。日内策略交易频繁,滑点能把利润吃光。程序回测的时候如果忽略滑点,实盘会亏得莫名其妙。
量化策略是怎么写出来的
策略的来源就两种。一种是统计规律,比如发现某只股票在每个月最后三天上涨概率偏高。另一种是逻辑推理,比如期货里螺纹钢和铁矿石价格有上下游关系,价差拉大到一定程度会回归。
统计规律容易过拟合。什么叫过拟合?你拿历史数据反复调参数,调到这条曲线完美贴合过去十年的走势。实盘一跑,立刻亏钱。因为历史不会简单重复。逻辑推理的策略更稳,但需要你对产业链和宏观有真理解。
写策略的核心是找到市场的无效性。市场大部分时候是有效的,价格已经反映了所有公开信息。无效性出现在哪里?出现在人性极端的时候。恐慌抛售、狂热追涨、流动性枯竭。程序要做的就是在这些时刻站到人性的对立面。
自动交易程序必须有的几个模块
一个能跑实盘的程序,至少要有四个部分。
行情模块负责接收实时价格。股票用Level-1或Level-2数据,期货用 CTP 接口。数据延迟超过一秒,日内策略基本废了。
信号模块根据策略计算买卖信号。这里最容易出bug。比如用未来函数,程序在回测时偷看了还没发生的价格,实盘根本做不到。
风控模块决定每笔交易下多少手。固定手数、固定比例、凯利公式,各有各的用法。期货必须算清楚保证金占用和最大回撤,不然一次黑天鹅就爆仓。
执行模块负责下单和撤单。期货有涨跌停板,股票有临时停牌。程序要能处理这些异常情况,不能一根筋地发单。
回测赚钱实盘亏钱是什么原因
回测和实盘的差距来自几个地方。滑点和手续费是明面上的,很多人回测时设得太低。成交量的限制是暗面上的,回测时假设你的单子全部成交,实盘里大单子会把价格推上去,成交价差很多。
还有幸存者偏差。你回测的股票池是现在还在交易的股票,那些退市的、被并购的已经不在列表里了。过去十年退市的公司不少,它们当时也在指数里。你拿现在的成分股回测,等于偷看了答案。
期货回测还要考虑主力合约换月。螺纹钢主力合约每几个月换一次,换月时有价差。程序如果没处理换月逻辑,回测收益会虚高。
心态也是实盘亏钱的原因。回测曲线再漂亮,实盘连亏五次你就想关掉程序。关了之后行情来了,你踏空。自动交易最难的不是写程序,是相信程序。
普通人要不要碰量化自动交易
如果你没有编程基础,也不懂金融逻辑,直接买现成的量化软件大概率是送钱。市面上卖策略的、租程序的,大部分是靠卖软件赚钱,不是靠交易赚钱。
真想学,从简单的开始。先用模拟盘跑一个均线策略,看它怎么亏钱。亏钱比赚钱更能教会你东西。搞清楚为什么亏,比找到赚钱圣杯重要一百倍。
股票自动交易更适合上班族,选几个基本面好的股票,程序做网格交易,跌了买涨了卖,不追求暴利,赚点零花钱。期货自动交易适合有杠杆经验的人,仓位一定要轻,单笔亏损控制在总资金1%以内。
量化自动交易程序是一个工具,不是印钞机。工具好不好用,看谁在用。市场永远在变,昨天有效的策略今天可能就失效。保持学习,保持敬畏,控制风险,才是长期活下来的办法。