标题：程式交易
简介
  程式交易程式交易（program trading）
近年来，由于财务工程技术的进步，使得衍生性商品的种类日益繁多，如何透过模组的监控，发现商品间的套利机会并立即执行，遂成为程式交易蓬勃发展的原因。所谓程式交易，是透过电脑软体的帮助，将市场上常用之技术指标构建出一组投资策略，藉由程式计算出买卖的方向与时点，操盘人只要完全依照程式所提供的买卖讯号，做出买进或卖出的动作，而不透过操盘人自身看法来操作。
程式交易的优点，在于利用电脑化的买卖讯号，杜绝投资人的情绪化反应所导致的不理性下单，并且透过一致性的交易策略，避免追涨杀跌的操作。是故，程式交易主要是用来克服人性因为盘势所产生的贪婪与恐惧，藉由电脑化的交易工具，来有效遏止人性的缺点，以达到最适的绩效。
然而，坊间却常出现程式交易年报酬100%，200%甚至300%的绩效，在令人眩目的外表之下，其背後的实际操作却常是亏损连连的。探讨其原因，不外乎是投资人无法有效实行电脑程式所告知的买卖讯号，造成错失行情的结果。事实上，程式交易仍有其参考价值存在，投资人若能完全顺应电脑程式所告知的买卖讯号操作，程式交易的绩效仍然是可以期待的。
  程式交易一般来说，市场上比较常见的程式交易系统为顺势系统，依照字面来看，顺势系统就是顺著盘势变化做出买卖讯号判断的一个系统，此种系统的胜率大约有40%~50%，也就是作十次大概会赚四次，而这四次的获利可以弥补其他六次的亏损，为一种赚大赔小的交易策略。此外，还有震汤系统，一说是逆势系统，此系统之胜率较高，然而需要搭配停损的机制，否则容易出现长期下来胜率高，总获利却是亏损的情况，深究其原因，就在于容易产生赚小赔大的情形。
要建构一个好的程式交易系统，需要电脑程式系统与技术指标的相互搭配在电脑系统方面，Tradestation为目前最强的系统，其最受赞扬的地方在于可以自订交易策略，并对针对历史资料来回测与模拟，并可对参数做最佳化的设定。
而在技术指标方面，则须视交易人的交易偏好来制定交易策略，以顺势系统而言，可采用趋势指标(DMI)或者动量指标(MTM)等技术指标，并且搭配其他交易规则来组成交易策略，而以震汤系统而言，则可采用相对强弱指标(RSI)等技术指标，并且搭配停损机制方为一良好之震汤系统。除了顺势系统与震汤系统之外，另有型态操作系统，然而此系统难度极高，因为每个人对於盘势之看法不尽相同，是故在撰写上较为困难，实务上较少采用。
在技术指标抓取上，特别需要注意过度最佳化(Overfitting)的问题。过度最佳化是指一昧追求样本范围内的绩效最大化，而忽略同样的参数在样本外的预测能力。举例而言，若该样本是建立在多头格局下，则在空头格局下该样本不见得适用。此外，程式过去的优秀绩效并不代表未来的绩效也会一样优秀，因此在建构策略时，须特别注意参数绩效的稳定性，如此才可规避过度最佳化的问题。
坊间常有许多标榜超高胜率的程式交易系统，然可能如前述所言有赚小赔大的情况，亦即在震汤行情中可以获取小利，但是遇到大行情来时的趋势波段却会兵败如山倒。是故，投资人在拿到具超高胜率的程式交易绩效表时，必须将交易明细对照线图，寻找是否因为波段来临而有大赔的情况发生。此外，具有高胜率的程式交易系统，可能未将交易成本计入，若考量交易成本，则绩效将大打折扣，第三，交易次数过度频繁的程式交易系统会使得交易成本大幅提高，而且交易讯号过多也会造成下单跟不上速度的情况发生，这点亦值得深思。
良好的程式交易系统能否获利的最大关键，在于交易人能否完全配合程式的买卖讯号来操作，虽然程式交易主要是为了克服人性的缺点而产生，但交易人若在交易过程中无法有效遵守程式交易系统告知的买卖讯号来进出场，即使有再好的程式交易系统，仍无法替投资人带来利润。是故，当程式交易系统告知买卖讯号的同时，交易者必须完全遵守讯号来进行操作，始能遵循策略目标来获利。
定义形式
  程式交易
什么是程式交易（programtrading）？程式交易有多种形式，纽约股票交易所NYSE把程式交易定义为包含15只或15只以上的指数成分股的组合交易，其价值超过100万，这些组合交易是同时进行的，简单的说，程式交易就是同时买进或卖出一篮子股票，也有少数程式交易是既买进又卖出股票的混合型程式交易。同时买进一篮子股票被称为程式买进，同时卖出一篮子股票被称为程式卖出。程式交易主要是大机构的工具，它们同时或几乎同时买进或卖出整个股票组合，而买进和卖出程序可用来实现各种不同的目标。程式交易的对象涉及在纽约证交所的股票和它们相应在芝加哥期权交易所和美洲股票交易所交易的期权，以及在芝加哥商品交易所交易的标准普尔500指数期货合约。这些金融产品的交易根据的是纯粹它们价格之间预先决定的关系，而不是任何基本面的因素，如各公司的收益、股息或增长前景、利率变动、货币波动、政策行为等。
程式交易可分为套利型（arbitrage）和非套利型（nonarbitrage）两类，套利型的程式交易即指数套利交易，它包括所有采取识别指数套利或指数替代（indexsubstitutes）的策略的交易。指数套利利润来源是股票指数期货与现货的实际价值关系对理论价值关系的偏离，指数套利是程式交易的一种形式，其他形式的程式交易的例子包括便利的清算、EFP（期货换现货）的股票头寸的清算、组合管理，而组合管理又包括组合重组（portfoliorealignment）和组合清算（portfolioliquidation）。尽管程式交易占总成交量的比例越来越大，但指数套利在程式交易中的比重不断下降，1988年超过一半，1995年降到1/3，1997年第四季度为17%，在交易所成交量中仅为3%。1997年10月21日的程式交易各组成部分为，以指数套利为主的受规则80A约束的交易占16%，不受规则80A约束的程式交易占84%。不受规则约束的交易中，组合重组占35.02%，风险的减小及对冲占5%，组合的清算占2.57%，期货换现货的交易占2.35%，客户便利占0.84%，便利的清算占0.04%，其余的交易有54%。
由于信息工具的普及，市场的无效性小了很多，与10年前相比，现在指数套利的利润就小了很多，要获得利润就需要更大的成交量和更复杂的模型。而且不仅是模型重要，同样重要的还有很强的计算能力、很低的交易费用和很低的资金成本。因此指数套利比例必然下降，其他策略比例必然上升，其中主要的一种程式交易方法被称为配对交易（pairedtrading），它利用计量经济模型识别出市场上被高估和低估的股票，卖出高估的股票，买进低估的股票，然后用期货对冲这个程式交易的市场风险，虽然它名为配对交易，但实际上买卖股票的数量并不一定平衡。在1997年，配对交易的股票占全部的程式交易的30%。
  程式交易从技术结构角度看程式交易系统，它利用计算机硬件和软件来设计、实施和管理金融市场中的投资头寸，包括用网络设备提供金融市场实时的价格数据，这些价格和交易成本数据一同输入计算机后经专业软件处理，看是否有交易机会。根据计算机程序发出的信号自动交易，通常是从交易者的计算机直接进入市场的计算机系统，并自动执行。程式交易公司用大量的计算机模型来设计与期货对应的不同的股票组合。例如，公司可以运行程序识别与期货关系最密切的股票组合，从而最大化潜在的利润，最小化程式交易的风险。换句话说，该交易发生在两个市场满足特定的条件的时候，就是这个组合中的股票相对于期货是价值高估或低估的。不过，纯粹的指数套利现在在程式交易中只占很小的比重。公司还可以交易符合特定波动性和流动性特征的股票。套利型和非套利型交易的共同之处认为市场存在均衡，计算机的高速计算能力能发现市场上的非均衡，从而从非均衡到均衡的过程中获利。实际上，程式买进和程式卖出与计算机智能没有什么关系，所有的程式化交易能手工完成，只不过非常复杂，所以需要计算机。
程式交易开始于1980年代初，那时大机构开始采用指数套利策略，也就是利用股票及其衍生证券的价差获利。组合保险（portfolioinsurance）也在1980年代初流行起来。组合保险指的是使用股票指数期货和期权来保护股票组合对付市场下跌。组合保险程序使得大机构能在一个保险模型的特定参数达到某个预定值时卖出大量的股票。据估计，在1980年代中期，有大约价值九百亿的股票组合在组合保险的保护下。有人认为1987年的市场大幅波动内在的重要原因是组合保险和指数套利。不过，组合保险交易在1987年后就停止了，1988年交易所也颁布限制程式交易的规则80A。
现在，程式交易的形式有多种，一些程式仍然是指数套利。另外，一些对冲基金（hedgefund）用到程式交易。所谓的“市场中性”（marketneutral）对冲基金，就常常构造多头/空头组合，根据某个特定的变量，如市盈率P/E，在组合中包括了买进一篮子股票同时卖出另一组股票。他们持有这些组合的时间常常在一个月或一个季度。市场中性投资指的是能中性化特定市场风险的投资策略，它根据金融工具之间实际或理论的关系，持有相互抵消的多头寸和空头寸，目的是限制由于宏观经济变量或市场情绪变化导致的价格系统性波动的风险。与传统投资的利润来自证券的走势不同，它的利润来源是证券之间的关系。对于采取市场中性策略的交易者来说，他们卖空证券，而共同基金（mutualfund）一般只做多。市场中性化策略就是要利用现在和未来的无效定价。相关证券之间定价的无效性的来源是金融市场的结构性特征。利用市场的无效获得的投资绩效可以比市场平均的收益-风险关系要好。
交易优点
程式交易的优点，在于利用电脑化的买卖讯号，杜绝投资人的情绪化反应所导致的不理性下单，并且透过一致性的交易策略，避免追涨杀跌的操作。是故，程式交易主要是用来克服人性因为盘势所产生的贪婪与恐惧，藉由电脑化的交易工具，来有效遏止人性的缺点，以达到最适的绩效。
然而，坊间却常出现程式交易年报酬100%，200%甚至300%的绩效，在令人眩目的外表之下，其背後的实际操作却常是亏损连连的。探讨其原因，不外乎是投资人无法有效实行电脑程式所告知的买卖讯号，造成错失行情的结果。事实上，程式交易仍有其参考价值存在，投资人若能完全顺应电脑程式所告知的买卖讯号操作，程式交易的绩效仍然是可以期待的。
一般来说，市场上比较常见的程式交易系统为顺势系统，依照字面来看，顺势系统就是顺著盘势变化做出买卖讯号判断的一个系统，此种系统的胜率大约有40%~50%，也就是作十次大概会赚四次，而这四次的获利可以弥补其他六次的亏损，为一种赚大赔小的交易策略。此外，还有震汤系统，一说是逆势系统，此系统之胜率较高，然而需要搭配停损的机制，否则容易出现长期下来胜率高，总获利却是亏损的情况，深究其原因，就在于容易产生赚小赔大的情形。
要建构一个好的程式交易系统，需要电脑程式系统与技术指标的相互搭配在电脑系统方面，Tradestation为目前最强的系统，其最受赞扬的地方在于可以自订交易策略，并对针对历史资料来回测与模拟，并可对参数做最佳化的设定。
而在技术指标方面，则须视交易人的交易偏好来制定交易策略，以顺势系统而言，可采用趋势指标(DMI)或者动量指标(MTM)等技术指标，并且搭配其他交易规则来组成交易策略，而以震汤系统而言，则可采用相对强弱指标(RSI)等技术指标，并且搭配停损机制方为一良好之震汤系统。除了顺势系统与震汤系统之外，另有型态操作系统，然而此系统难度极高，因为每个人对於盘势之看法不尽相同，是故在撰写上较为困难，实务上较少采用。
在技术指标抓取上，特别需要注意过度最佳化(Overfitting)的问题。过度最佳化是指一昧追求样本范围内的绩效最大化，而忽略同样的参数在样本外的预测能力。举例而言，若该样本是建立在多头格局下，则在空头格局下该样本不见得适用。此外，程式过去的优秀绩效并不代表未来的绩效也会一样优秀，因此在建构策略时，须特别注意参数绩效的稳定性，如此才可规避过度最佳化的问题。
坊间常有许多标榜超高胜率的程式交易系统，然可能如前述所言有赚小赔大的情况，亦即在震汤行情中可以获取小利，但是遇到大行情来时的趋势波段却会兵败如山倒。是故，投资人在拿到具超高胜率的程式交易绩效表时，必须将交易明细对照线图，寻找是否因为波段来临而有大赔的情况发生。此外，具有高胜率的程式交易系统，可能未将交易成本计入，若考量交易成本，则绩效将大打折扣，第三，交易次数过度频繁的程式交易系统会使得交易成本大幅提高，而且交易讯号过多也会造成下单跟不上速度的情况发生，这点亦值得深思。
良好的程式交易系统能否获利的最大关键，在于交易人能否完全配合程式的买卖讯号来操作，虽然程式交易主要是为了克服人性的缺点而产生，但交易人若在交易过程中无法有效遵守程式交易系统告知的买卖讯号来进出场，即使有再好的程式交易系统，仍无法替投资人带来利润。是故，当程式交易系统告知买卖讯号的同时，交易者必须完全遵守讯号来进行操作，始能遵循策略目标来获利。
入门方法
程式交易入门(一)第一步:必续经历两次以上惨烈的断头经验，何谓惨烈?例如作多单断头后，不啰唆连拉五百点以上(必须是断头而不是认赔)。
第二步:隔离外界干扰因素，尤其是第四台分析节目。
第三步:催眠自己，告诉自己是一个股市白痴，盘面完全看不懂。
第四步:存有置之死地而后生的心态，一切由零开始。
第五步:严谨的交易纪律。
人都是主观的，尤其金融操作者，更是严重，有断头的经验是为了加深对程式交易的信任感，你的朋友是程式交易者吗?模拟单有用吗?有经验者皆知不需多讲，三个月的演练遇到的状况有限，程式交易者若要再加上个人意识便称不上程式交易者。作程式交易其实是带有痛苦的，那是因为常常逆着自己的心意下单，如果有一两次选择性下单，而且侥幸对，那完了，波断行情八成会赚不到，因为你会想要再侥幸一次又一次，程式交易不容易是因为绝大部分的次数是赔的，让人想要避开一两次的亏损进而提高整体获利，久而久之，又回到原点，以自由意志下单，不知发过几次誓，这次一定要每次跟单，但每次都做不到，一直恶性循环，周而复始。程式交易入门(二)以下谈的是以程式交易做单一口需要多少钱，不以程式交易者看过笑一笑就好。
下一口程式单究竟多少钱才刚好?是三十万?还是四十万?这其实都不对，应该以契约值换算才对，例如指数六千点，契约值一百二十万，那就准备六十万做一口，简单换算等于指数乘以一百，为什么要这么多?是因为人性。假如三十万做一口，遇到连续亏损，去掉十几万，这时已手软还敢跟单吗?除了亏损，以三十万做一口，赚七八万感觉很多了，提早下车，后面少赚一大段，呕死了。人们常常以百分比计算盈亏，今天赔了一成，五天赔了一半，感觉很多，但如果以契约值换算出的保证金，幅度刚刚好，赔了不觉多，下转向单不会手软，赚了也不觉多，大行情不会被跑掉。
资金比在程式交易中是最最重要的一环，能不能完成一个漂亮的循环就看资金比，完美的程式交易纪律，能让你每天好吃好睡，管他利多利空，管他道琼大涨大跌，程式交易用简单的四个字形容就是---进退有据。程式交易入门(三)绝大多数人无法完全程式交易，主要是工具出了问题，让人感觉到失误率太高受不了煎熬，或者获利率太低提不起兴趣，在这提出一套简单的评选程式，让大家以此挑选适用的工具，版主在之前的文章中曾提到程式中含有人性因子，这点本人相当认同，好的程式赚钱是必须的因素之外，最重要的是必须人性化，甚至于人性化的重要性，超出整体获利，毕竟能让人无怨无悔的跟单，比高挂而不切实际且容易中途放弃的高整体获利，来的实际而易得。
程式交易中，人性化的因子高低影响甚巨，有多少期友在程式交易中一次又一次的受挫，却又一次又一次的受不了高整体获利的诱惑再次以身试法，却又不知问题出在哪里，是本身自制力不佳，程式失效，盘面的关系，美国股市影响，到期日，甚至于怪到宾拉登的头上......都不是，是工具错了，人性化因子如何求出，首先求出AB值。
A值=平均每笔获利除以平均每笔损失
B值=错的总次数除以对的总次数
C值=A减B
C值=人性因子高低，称它为循环比，也就是完成一个程式循环，这个公式算来简单，但其中已透视了交易程式的一切，简单的说
循环比高等于失误率低获利率高
循环比低等于失误率高获利率低
如何判断　
低于0.5不能用不是失误率高就是获利率低容易中途而废
0.5-0.75可采用但仍稍嫌不足
0.75-1.0相当不错跟单时符合人性
1.0以上两个字完美
采样时间以多久为标准，个人认为是三年，台湾股市大概三年可完成一个多空循环，所有状况皆以包含，如能有六年的资料，更能完整表现出程式的优劣，以上程式包含所有成本，交易税与手续费(手续费以每口五百为计)。