野生开发者手记

前述:

以当下的社会分工,和编程语言的多样性复杂性,以及最最重要的本人的时间价值过高,是以大部分临时性的创意,尤其若干有趣的、能改善自己或者员工工作效率的软件体系开发,已经不太可能亲力亲为。

本处便记录一下,近一年来鄙人从想法到成品的几个实例。

揽彼造化力

2013年左右,鄙人在博客很热衷分享一些欧元波动的观察和实盘……其中一套判断系统至今也还是很强力的适用于几乎所有的品种。然而当时遇到一个很基本的问题,即自己能够编译的实现语言只能用在同花顺或者博弈大师(一款现在也不常用的期货软件),当时的平台如MT4或者Jforex并不能直接作用在窗口,那个年代本人的阔度非常路人,买个27寸的imac已经很不错了,没能想到还能另外加一个屏幕这种事情。

两个窗口的切换极大的影响了操作的效率,于是产生了自己的第一个记得住的程序开发需求:把判断系统转换为MQL语言。

余额不足对做事的影响是很深远的,虽然也清楚淘宝上实现起来就是几百块钱的事情,竟然也会觉得DIY光荣,于是自学了MQL4,后来也算是写出来了——如果效果达到了预期,那个年代自然也会写博客炫耀一番,然则是并没有这么一篇东西的。

而且,并没有太久,大约也就全忘了。这套语言系统中间更新了若干绝不兼容的版本。

后来,时光漫漫,天不负勤,鄙人获得了调用资源的基础——些许金钱。

这TM才是想法到实现的根本基础,才不是什么学习。

想法

如果非常阔气,想法和开发策略的转换,可以靠足够的薪水找到什么思路都听得懂的产品经理,乃至于什么思路都听得懂的产品经理都找得到的CEO。

一般水平的阔气,或者虽然非常阔气但是觉得开发有乐趣。就还是需要一个把灵机一动的想法转化为可以给开发人员梳理思路的开发需求。

简而言之,必须的要素有:

自定义变量、计算公式、运行逻辑(提供逻辑树更好)、结论处理步骤、各种自定义中止条件。

所有要素一定要总结为书面化的、逻辑性的表达,以对方理解能力极差为书写的前提。否则,对方会以下图回应你

预算

没有无限的预算,很多情况下,开发属于服务业,议价可行性极大,有预算也给自己一个谈价的策略方案,并且在双方让步时候,善良如我,会很自责还是自己欠缺一些大气——预算高于任何人的报价,希望是未来的常态。

别人纵然阔度纵然倍于我,感觉预算总是卡得更严。更别提为公司做的事情,开发总得在一定周期内收回来,这都是预算的基础。

社会上码农的薪资水平、一个小时到手得有50以上,加上毛利,日常简单的事情,一个小时就按100算。写代码跟写博客也差不多,不论何种灵感之类的东西,长期下来速度是可以计算的,直问或者估价,拿工作时长估价一般是双方最能接受的方式。

如果预算能够覆盖想法,那么就可以继续推进啦。

持为我神通

编码个人和接外包业务为主的公司,通过淘宝、58、各种朋友介绍很容易就找到,比价的方式,无非是拿着初期的开发需求递交过去,然后根据各家讨价还价的最后结果,过公司讨论也罢,过自己的审核也罢。总之决定找谁做的,基本还是预算和想法,敲定的对接人,肯定是既有满意的地方,也肯定有双方难以磨合之处。

修正与实现

初版的开发意见,除了写满1+1=2;两点之间线段最短之类的。否则肯定要多次修改。

修改的方向主要是两点:

  • 语法
  • 目的绕标

简单而言,因为交易系统限制,软件逻辑的限制,七七八八各种想不到的限制,总之肯定是要改。

譬如,股票软件会有查询次数(查询余额、股数、价格等所有查询有一个ping限制),这是初版需求多半不知道的,这就得在修正中增加一个变量。一个外汇交易者,如果不是神经病,谁会知道自己的交易商限制挂单单数是多少,这个数至少是20,但是日常会挂20单吗?

负责想的时候可能是整个实现流程里面最幸福的时光了,后面是把所有没想到的细节一个个抠出来赋予数字定义的时段了。

妥协与坚持

开发外汇网格交易的时候,我拟以0.1bp为最低单位,如果每次0.1bp开1手,其方向有利2bp时候平掉这一手,这是多么小清新的套取震荡市的想法。

然而,交易商限制20个持有单,又不自动合并同向头寸。

于是市场波动2bp,我的仓位包括最初那个单子,就满了20个单,再也开不出来了。

实现的过程里,最不缺的就是bug呀。

当时面对的两个事情,妥协或者坚持。

妥协可以是两个方面的:

  1. 一个是交易方式,可以满19个小单,合并为一个中单,满19个中单,合并为一个大单。以上产生交易摩擦损耗。
  2. 另一个是策略,策略上可以扩大区间,比如10bp开平100手,200bp才会产生一次满额问题。模型上,套利收益损耗,成交量锐减。
  3. 换交易商。

类似这个样子,抉择总是如此困难,然而类似的决策,在一个开发费才3k统共大单项目里,经历也不止一次。

一些微小的成果

CTP系统

去年的名堂。

原理参考上一篇《网格》

在这次开发里面,我修改了三次交易逻辑,一项一项的跟外面的开发者解释每一个名词定义是什么玩意,计算公式如何而来。

最后反复搞了四版本更正

最后我们成功开发了一个还算比较稳定的系统,累计5万左右。

从结果上看,比人工费省下的绩效费用,目前也算是覆盖了吧。网格交易的成果,至少有1500万记在这个账上。以下是实例:

FMZ的数字货币交易体系

原理相同。

在FMZ这个网站,通过火币、ok的公开api,实现币币交易的策略。

效果也比较稳定,7*24小时在套利。

最幸福的是成本很低,一共用了5k不到。

A股

这也是一个可以用的品种,当时的问题一个是破解端口,另一个是之前提过的查询次数。

开拓性的部分,是实现了间隔、每档报单的手数独立,这一部分在策略里非常有效的提高最后的收益。

还有一个功能,就是买入账户、卖出账户的分离。

MT4网格

在之前公司的项目之外,这个是个人项目,目的还是给我一个只有10万多美元的小账户做个测试,最后运用到主账户里。

此事更加的周折和复杂,需要另起一篇啦。

目前还在进行的项目

基于钢铁雄心系列IC模板的预算系统
公司的间隔偏离风控体系

Proudly powered by WordPress | Theme: Journey Blog by Crimson Themes.