一个收盘后的下午, *** 那头响起,一接起是从没听过陌生的声音……
对方那头说道:“账户送单删单太频繁,超过每秒2单,因为是首次,口头警告,第二次直接Ban ID……”
他是一名始终在想算法的程序猿,来看看他的高频交易历程。
我的Coding历程
最开始是想业余时间偷懒,如今的计算机行业这么发达,我是不是可以把自己的想法丢给计算机?然后才发现自己进了一个更大的坑。
有了想法就动手干,开始在 *** 上找各种程序化的商用软件,接触的包括TB,麦语言,但是使用过后总感觉不太理想。
我后来搜索国外的软件知道有TradeStation,下了各种试用版本,后来准备都开始交易美股了,才摸到了MC。
跳出舒适区 —— 高频交易
在盯着更多交易窗口和更多的交易曲线,我每天看着K线的涨涨跌跌,我一直很想知道到底是什么力量和原因来控制它的涨跌的。
我开了窗口,看着数据在跳动,一会有一笔大买单扫掉了所有的卖单,行情报价上去了1 tick,然后又一笔买单扫掉了Ask Size,然后价格又上去了1 tick。
其实就这么简单也真的很简单 — 在这个价格有多少人卖,有多少人买,买的多上涨,卖的多下跌,这就产生了高频交易的一种策略最核心的设计思想和思路 Order Book。
跟踪分析自己手里这份交易所order book镜像的变化,来制定交易策略,是高频交易算法的核心思想。
什么是高频交易?
如何定义高频交易 — 简单来说,只要速度快的,时间短的都可以叫高频交易。必须对市场微结构有非常细致的认识,也就是对交易所的数据协议要很清楚。
高频交易需要什么条件?
现在高频交易需要的硬件和条件?这我稍微搜索和查了一会,就五花八门什么都有。有服务器架设在交易所,拉光纤,用微波,走海底电缆,直接破译网卡写程序用FPGA的什么都有,这已经跳脱了民用范畴。
硬件我们烧不起,软件上我们能用什么方式做高频呢?
现在主流直接能接入交易的,有C++ 和 JAVA 这两种主流语言,但是,它开发和学习的维度太长,并且开放的空间太大还不如不开放。
我们需要实现的是交易和策略层面的问题,我把硬件优化和低延迟解决的再好,策略不赚钱,它就是不赚钱,在我看来,一个赚钱的策略比降低5纳秒的延迟,对于普通交易员来的更有效,更有帮助。
那么策略开发中更大的核心问题 — 不是硬件,不是网速,是算法。高频交易的主流四大交易策略 — 做市商,事件,套利,订单流向,哪一项都需要算法的支持,去研究算法是小散有更高投入产出比的方式。
大多数人写的高频交易的策略或者是源码中,许多的代码都是在控制接口和信息流,而交易需要的往往是策略,很多人本末倒置。
把交易压到秒以后,自己感受高频策略的优缺点在哪呢?
优点:风险小,如果策略OK,那么可以稳定收益。
缺点:开发投入巨大,阀值(交易手续费和滑点)很高。
如果策略无法预测或者是准确率不高,速度不够快,单纯介入短差交易,没啥意义。就我目前工作和研究的方向我简单归纳一下 — 就是订单流系统还有差价系统, Order Flow — Bid AskSpread。
核心思想
通过扫描订单,能够抢先一步买入或者卖出获利,或者等待差价回归。在我看来,整个好的策略 ,它的优秀不在于订单的成交或者风控的管理,好的策略其实在于它的源头,就是进场,在进场的那一刻其实就已经决定你是否已经输了。
高频交易的从原来的被动扫单 — 到主动去人工扫单Drak 和 Chix 的通道撤单,到用计算机下大量的订单去幌骗(Spoofing)和FPGA(可编程逻辑阵列)到现在的时序,概率,统计,线性回归,标准差等等都应有尽有。简单的就不一定是不好的。
专注Open PL(止盈)
为什么单独说止盈,因为走的弯路太多,印象过于深刻。止损,止损,止损,老生常谈的止损大家都知道,但是有多少人说过止盈?
只说了1:3的风险和报酬比例,那么什么情况下是1:3?在短周期下还是1:3么?
盈利值 — 准确率 — 交易阀值,一把三项之力。到底是小盈利,大止损?还是大盈利,小止损呢?
怎么来解读这把 三项之力 ?在一个波动的市场中,这是我们所有有盈利可能的前提,不波动的市场是无法盈利的,市场有波动,我们就有进出场赚取差价的可能。
短期的盈利比长期的盈利更容易预期,小额的目标比大额的目标更容易达成,交易的策略周期,和策略重点就决定了高频交易不适合那么高的盈亏比。那么多少是合适?有参考和参照么?
在伊士顿事件中,它用的比例实际是4 tick的止损,对8tick的止盈。换算下风险和亏损比例大概是2:1,盈亏的平衡点在 1.5:1 的样子。
如果有足够高的准确率,止损 1,止盈 0.5 也不是不可以,但是交易的阀值很容易吃掉这部分的盈利导致整体的亏损。
阀值和损耗 — 滑点或者是手续费成本是相当高昂的。价格的个人主观歧视是一种信息和大众选择的体现,没有任何证据能证明下次的行为概率在这个价格形态还会反复出现。
※ 备注伊士顿件:2个俄罗斯人写高频交易用500万交易期指,赚走约5个亿,其交易量占据IH、IF、IC合约市场百分之三。
关于程序化交易带来的思考
统计和概率还有速度,能够让你一定能够盈利么?我觉得并不是,任何的价格浮动并不包含对未来行情的预测,如果真的觉得自己可以预测未来,那他离出局就不远了,淘汰自己的不是市场,反而是他自己。
想要活下来,只能兢兢业业,如履薄冰。扎扎实实以不变应万变,随着时间和时代的弄潮不停的更新自己,更新策略,充实自己的实力,这才是立于不败之地的不二法门。
一句话结尾:大奖章基金用的核心策略只有2个 — 趋势追踪和均值回归。另,我希望大家好好读读《算法导论》。
后记
当大家都想干高频或者是统计套利等各种高大上之流,我到想问多少人很认真的研究了底层的函数和代码,有多少人认真调试过了简单的单均线突破和双均线突破这种谁都知道‘烂大街’的系统?
有研究过进出场么?有研究过每笔进场单和盈亏比么?有真的放到模拟盘跑数据和认真的看每天盘口去修改模型么?
每次一写程序就是股指期货,还不如实际点写一个瘸腿的小代码去跑螺纹钢还实际点,比纸上谈兵强。
代码和金融世界天马行空,纵有万般风云,又与我何干?做好自己,稳扎稳打,这才是真正硬核的道理。实际的偏差永远比模拟精确错误的要好。超越自己,我相信总有一天能看到更好的未来。
来源: *** ,所发布的内容仅供参考,不构成任何投资建议和销售要约,不涉及任何商业合作。版权归原作者或机构所有,部分文章推送时未能与原作者取得联系,若涉及版权问题,请通过后台与我们取得联系及时删除。
由于自称为 Lapsus$ 的组织泄露了与英伟达黑客攻击相关的数据,被盗的代码签名证书被用于远程访问未受保护的 PC,其他情况下则被用来部署恶意软件。 根据 Techpowerup 的报道,这些证书被用于“开发一种新型恶意软件”,BleepingComputer 将 Cobalt Strike...
现在,不少新报告指出了跟俄罗斯对乌克兰采取的军事行动直接或间接有关的黑客行动。许多专家预测,俄罗斯将在乌克兰发动重大网络攻击,如关闭该国的电网。虽然大规模的行动还没有实现,但关于小规模攻击的报告已经开始出现。 当地时间周一,Google表示,它发现了针对乌克兰官员和波兰军队的广泛的网...
BHI是一种影响大多数英特尔和Arm CPU的新型投机执行漏洞,它攻击分支全局历史而不是分支目标预测。不幸的是,这些公司以前对Spectre V2的缓解措施也无法保护BHI的威胁,尽管AMD处理器大多是免疫的。消息传出后,供应商应该很快就会发布安全补丁,而最新得Linux内核已经打了补丁。...
欧洲议会周四投票决定成立一个新的 “调查委员会”,调查针对欧洲成员国获取和使用Pegasus(飞马)手机间谍软件的指控。议员们基本上投票赞成设立该委员会,该委员会将调查欧盟27个成员国使用Pegasus和其他监控间谍软件的情况。 调查委员会允许立法者调查可能违反欧洲法律的行为。欧洲议会在一份声明中说...
我们已经习惯了来自俄罗斯的大量网络攻击,但在乌克兰被入侵后出现了一个有趣的转变,3月份70%的网络攻击反过来都是针对俄罗斯的。Atlas VPN的研究显示,还有19%的攻击是针对乌克兰的。美国是第三大目标,但国际局势让针对该国的攻击只占总数的5%。 3月5日,随着匿名黑客宣布对俄罗斯进行全面的网络...
近日,Nozomi Networks发出警告,uClibc库的域名系统 (DNS) 组件中存在一个高危漏洞,编号为CVE-2022-05-02,该漏洞将影响所有版本uClibc-ng库的域名系统(DNS),因此,数百万台使用uClibc库的物联网设备都也将受到影响。 资料显示,uClibc库专门为...