普通的网格交易,等差数列式的网格,两年前写过也执行至今。链接,为了区分,以下我称这类型传统网格交易为等数网格交易。
在此之间,投资这件事情的形式和实质都发生了许多时代性的变化。体现在最终实现上,就是资产涌入的交易品种其涨幅想象空间,令人恐惧的变大。譬如目前A股范围内的抱团白马如茅台,H股的腾讯,纳斯达克的特斯拉,以及BTC、ETH等数字货币,往年KO可口可乐之类的传统企业,可以在数十年间一步一步周期性实现的市值规模,现在往往压缩到3-5年,即使相较于经济规模的增长,头部热门投资品种的膨胀速度也远超历史想象。
这里不讨论其合理性,至少势必设置新型的交易工具,来匹配最新的交易品类做网格交易的需求。
譬如BTC这种投资品种,按传统等数网格,进场年代假设为2010年左右1美元买了2000枚,如果为了兼顾波动收益,设置与当时价格符合的网格水平,其必然性是大概第一轮牛市就退场(哪怕一开始设置波动1卖出1枚,最多拿到2000元,而这设100%波动一格干脆还是持有不动得了)。而如果设置为以仓位获取某个基准价,永远涨1%卖出一枚,跌1%买入一枚,那么到5万美元的目前,尚余912枚,全部盈利已经来到恐怖的6kw美元级别——这可是相当于作者我的全部可投资产。对比如此轻松暴富,这十年我从8岁至今事业做得多累,现在看起来跟36岁没有差别……
如果2000次1%的BTC全部卖完,根据波动模型,大概能盈利70E美元。可能有人二病发作认为2000枚一拿到底能赚更多,但是网格交易、不论常数对数最好的一点就是,只要市场在波动,如同收租一般,每天都有收益。尝试回忆一下,BTC 7*24小时,是否有哪一天波动不到1%?有如此可预见性的日常收益的话,抵抗随时随地的“落袋为安”冲动的能力,要远远远超常人。
2014年七月,从收益里面拿出6k非常轻松,命运女神又让你去买ETH,大概2w个吧,基准价0.3,目标幂20000,参数1,再来这么一出,2021年钱多得可能就要自闭了,大概也未必是幸福lol。
甚至由于新锐交易品种超级大的波动性,平均一个幂位如果经历超越剩余头寸的反复震荡,最终总体收益超越持有到底,也是说不定的。
由于已经不再特别年轻,也不再特别无聊,这里开始,我就不帮忙分析优缺点和用途这些事情了。(作者并不大量参与数字货币交易,目前还是“传统”投资人)
以下是名词解释和计算思路
因简单的数学原因,对数网格仅合适用于做多。
基准价:通常是建仓价格;用于计算基于仓位的档位的关键。
目标幂:用于定义相对基准价,若干1%涨幅之后轻仓结束。
系数:每1%波动,对应的应交易手数。
保留仓位:用来保留于网格交易计算之外的仓位数。
起始区间、终止区间、(下单)间隔%、下单手数等:都是字面意义。
市场量
仓位:当前品种的持仓手数
市场价:买价、卖价,一般bid<ask,close 最后成交价
计算
- 档位幂: 目标价-(仓位手数-保底手数)/参数
- 买入价: 档位价/(1+间隔%), 精度等于品种精度
- 卖出价: 档位价*(1+间隔%), 精度同上
- 市价幂: log(close/基准价)/log(1.01), 【向下取整,1.01取整为1】
挂单
- 腿单(整单需求为否):
- 多头价格:买入价
- 空头价格:卖出价
- 挂单量:手数
- 成交后依据最新仓位重新计算。
- 而后loop双腿下单
因为我个人已经开发IBKR(盈透)的自动交易,所以这些都是从开发模板导入,自定义别的功能肯定是有的,但是主要的计算思路就是很简单的如上这般。
附带一些边界计算
- 设定,
- 基准价:B
- 系数:C
- 下跌最大比例:90,即价格为基准价0.1
- 目标价n
假设最低跌至基准价的10%:最大下跌幂,log(0.1,1.01)=-231
- 下跌段资金占用:
- 0.1基本为通用下限,总成本极好计算,(n*b+89.5b)*C
- 上涨段利润,
- C*b(100.49917*1.01^n-101.50416-n)
- 大概的策略要点
- n>89.5
- 1%*C*B 价值超过相应交易成本
- 最优波动待探索,目前是收租思路,1%及以下的波动争取多成交。
- 目标价标位表:
- 10 1.104x
- 20 1.22x
- 41 1.5x
- 67 2x
- 111 3x
- 140 4x
- 90 2.45x
- 1000 21000x
举一个实例
KO:可口可乐
合约单位:1;最小跳:0.01
1. 输入
a. 系数 1000
b. 基准价 50
d. 间隔(n%), 1 %
e. 下单量 900
f. 目标价, 1000
h. 保留仓位 100000
- 读取
- 仓位
- 市场价,ask bid
场景1
买1/卖1 | 46.95/47.00 |
仓位: | 1100000 |
档位幂: | 目标价-(仓位手数-保底手数)/参数 【精度为1/系数】 | 0 |
买价市价幂: | log(买1/基准价)/log(1.01), 【向下取整,(-1.01取整为-2】 | -7 |
卖价市价幂 | log(卖1/基准价)/log(1.01) 【向上取整,1.01取整为2】 | -6 |
档位价: | 基准价*1.01^档位幂 | 50 |
下单
档位价偏离买卖价大于5,可以多倍执行。
方向 | 卖价市场幂<挡位幂 | 方向 | 买入 |
买入价 | 市价成交 | ||
手数 | (档位幂 – 买价市价幂-1)*系数 | (【6】-1)*1000 | 5000手 |
进入场景2
买1/卖1 | 46.95/47.00 |
仓位: | 1105000 |
档位幂: | 目标价-(仓位手数-保底手数)/参数 【精度为1/系数】 | -5 |
买价市价幂: | log(买1/基准价)/log(1.01), 【向下取整,(-1.01取整为-2】 | -7 |
卖价市价幂 | log(卖1/基准价)/log(1.01) 【向上取整,1.01取整为2】 | -6 |
是否整单需求: | 档位幂减去 买价市价幂或卖价市价幂,大于整单触发条件 | 否 |
执行:
买入价 | 档位价/(1+间隔%) | 47.57/1.01 | 47.10 |
卖出价 | 档位价*(1+间隔%) | 47.57*1.01 | 48.05 |
手数 | 下单量(手) | 900 | 900 |
假设市场运行向上,卖单成交
仓位1104100,再重复场景2
结束语
提供一个工具,鄙人参与雪球平台虽然很早,但是几年之前并不是很认同价值投资的理论,着重在于市场上寻找套利、纠偏波动、资金驱动、以及金山边上卖铲子类型的盈利模式,就普通家庭而言,取得的成就颇说得过去。管理的十数支基金(侧重银行间债券市场和其他衍生品)业绩不失对得起投资人和股东的评价。
俗话说富起来一次就够了,退休进程中,发挥余热,抛砖引玉,欢迎留言交流。
自动交易软件有开发建议和功能辅助的,也欢迎私信聊,近来想法较多,有待更好的程序员。