5天赚80倍,高频策略的威力

Author: 小草, Created: 2020-11-04 15:18:03, Updated: 2023-09-26 20:52:21

img

最近两个月,一个print(money)的账户非常火,在币安永续合约上赚了几百倍收益,各个群里经常能看到他的账户收益截图。基本不回撤的盈利曲线让不少人眼红,也让一些人怀疑真实性。但我在10月23日-27日5天的经历验证了高频策略在高波动市场是完全可以赚到这样变态的收益率。

我的经历:

大概两天时间写好了策略,经过1天的调整,23号在币安永续合约正式开始运行。从充值的100USDT开始,27号赚到8800USDT,收益率是80多倍,期间几乎没有回撤。总收益率达到了币安历史收益排行榜的第15位,10月收益第2位。由于币安的统计有问题,实际上的排名应该更高。 img img

一点经验:

并不是所有的市场和时间都适合高频策略,要运行高频机器人的条件很苛刻。下面是几点条件。

1.适合高频的市场

这5天只在币安交易FIL永续合约,FIL刚上线市场十分混乱,永续价格和现货的差价一度到了30%以上,导致多空在FIL分歧十分严重,16号开盘价从60一路跌到26开始反弹,又一度跌倒19反弹到37。交易额高的几天排名所有交易对第三,仅次于老牌的BTC和ETH,这是高频交易的黄金机会。遗憾的是我没有第一时间准备好机器人,错过了开始的几天,但还好赶上24-25号的行情,大部分收益来自于此时间段。27号过后,差价逐渐减小,顶格的资金费率也没有了,成交量萎缩,策略赚钱难度变大。

类似的机会还有SUSHI/YFI/YFII/UNI上线之初的一段时间,波动性和交易量都很大,print(money)也是抓住了这些机会。在这些币无法继续赚钱的时候,FIL又出现了。这两波一次是炒的火热的DEFI概念,一个是备受瞩目的FIL,在现在的情况下,下一次的机会也需要等很久。

img

2.交易费率

高频策略对手续费十分敏感,币安maker返十万分之2的门槛并不高,虽然返费很少,但是可以理解为免手续费,一批在古老的现货无手续费时代的高频策略得以复活。当然在行情波动剧烈时,手续费相对没有那么重要。

3.频率高

高频机器人最有名的特点就是频率极高,在行情变化快时,我的策略很多都是在100ms内完成开平仓。

4.策略的胜率

高频策略需要对行情的短期趋势做出准确的判断,并且在胜率越高下单量越大,短时间交易量越大下单量越大。FIL由于交易量很大,交易频繁,所以几秒内的趋势预测准确率很高。同样多空博弈剧烈,给了maker建立相应仓位和平仓的机会。这一点和早期的现货高频不同,现在maker有返佣,但taker还是有很高的手续费,因此只能挂单。想象一下,如果所有人都短时间看多,高频策略由于吃单手续费,maker买单无法成交,也就无法获利,而如果市场完全没有的趋势,maker订单能成交但获利的概率不高。所以当前的高频策略即要求市场有大趋势保证高胜率,又要有局部的多空分歧保证能大量成交。

行情顺利时,我的策略的胜率在80%以上,盈亏比大于1,当市场没有明显趋势,长期胜率也在65%以上,盈亏比低于1 。

5.高频策略的容量

高频策略的容量显然是不高的,由于永续的高杠杆,100u也能操作2000u以上的资金,所以高频策略能以很小的资金起步。但整体的获利净额并不会太大。具体的容量要看市场上的成交量。

6.策略的风险

有开仓就有风险,但高频的优势在于交易次数很高,一次亏损还可以迅速的再交易10次把亏损补回来,拉长周期看回撤很小。持仓越大风险越大,所以不能无限制的增加持仓,要有一定的负反馈机制,仓位多了就增加平仓减少开仓,保证有持仓的时间短。有持仓是如果正好逆势,会有很大的亏损,所以策略设计了对方向的判断,保证了大暴涨或大暴跌时站在趋势的一侧开仓,进一步价降低了风险,代价是短期趋势不明朗会频繁亏小钱。

关于我的策略

策略原理:

获取最近成交trades、深度depth和当前仓位,根据trades判断趋势,根据成交量决定开仓大小,判断趋势为上涨就挂单开多,同时平多头,如果此时持有空头仓位就先全部平掉。判断趋势下跌操作同理。

高频策略的思想都是很一致的,我本次的策略吸取了我以前公开的2014年的高频策略以及OKCoin韭菜收割机策略的思路。这两个策略在FMZ都能找到源码,如果把这两个策略都吃的很透,高频交易将对你没有秘密。

策略架构:

策略使用异步架构(参考FMZ社区进阶教程),这里没有源码只是简单用到函数的说明,并不是可运行的完整的代码,也没有涉及到核心逻辑。API全部使用REST协议,并没有用websocket。服务器在东京,可以获得更低的延时。

//设置交易对与杠杆
var pair = Symbol+'USDT'
exchange.SetCurrency(Symbol+'_USDT')
exchange.SetContractType("swap")
exchange.IO("api", "POST", "/fapi/v1/leverage", "symbol="+pair+"&leverage="+5+"&timestamp="+Date.now())

//基本的交易精度限制
var price_precision = null
var tick_size = null
var amount_precision = null 
var min_qty = null

var exchange_info = JSON.parse(HttpQuery('https://fapi.binance.com/fapi/v1/exchangeInfo'))
for (var i=0; i<exchange_info.symbols.length; i++){
   if(exchange_info.symbols[i].baseAsset == Symbol){
       tick_size = parseFloat(exchange_info.symbols[i].filters[0].tickSize)
       price_precision = exchange_info.symbols[i].filters[0].tickSize.length > 2 ? exchange_info.symbols[i].filters[0].tickSize.length-2 : 0
       amount_precision = exchange_info.symbols[i].filters[1].stepSize.length > 2 ? exchange_info.symbols[i].filters[1].stepSize.length-2 : 0
       min_qty = parseFloat(exchange_info.symbols[i].filters[1].minQty)
   }
}

function updatePosition(){//获取持仓,Symbol为交易对,加入交易对参数而不是返回全币种可以减少一次API占用
    position = exchange.IO("api", "GET","/fapi/v2/positionRisk","timestamp="+Date.now()+"&symbol="+Symbol+"USDT")
}
function updateTrades(){//获取最近成交
    trades = exchange.IO("api", "GET","/fapi/v1/trades","limit=200&timestamp="+Date.now()+"&symbol="+Symbol+"USDT")
}
function updateDepth(){//获取深度
    depth = exchange.IO("IO", "api", "GET","/fapi/v1/depth","timestamp="+Date.now()+"&symbol="+Symbol+"USDT")
}

function onTick(){
    updateDepth() 
    updateTrades() 
    updatePosition() 
    makeOrder() //计算下单价格、数量并下单
    updateStatus() //更新状态信息
}

//主循环,休眠时间100ms,策略的循环延时通常在在30ms以内。
function main() {
    while(true){
        if(Date.now() - update_loop_time > 100){
            onTick()
            update_loop_time = Date.now()
        }
        Sleep(1)
    }
}

这个策略对市场要求太苛刻,大部分时间不赚钱,并且容量也不大。如果大家积极在微博微信群朋友圈等平台转发传播这篇文章,阅读量达到10万以上,我会考虑以租用的方式让大家实际运行感受一下,甚至未来在这篇文章里公开策略源码。加FMZ首页微信回复币安可拉FMZ币安微信群交流。


Related

More

xukitty 请问草神,2014年简易高频机器人的默认轮询是3500ms,而之前试用的币安永续合约高频策略的默认轮询只有100ms,是什么造成了如此差异?草神能否指点一二?谢谢

Hermit 草神 前几天luna怎么没开呀

Hermit 草神 前几天luna怎么没开呀

骨刀 经典文章,正好过了一年,回过头再看,发现理解深度又不一样了。

jun3761 高手

jun3761 高手

钢骨 膜拜,希望草神可以分享代码

zdg4484 OKex 运行测试过吗?

17707250703 留个记录

hart0345 留个记录

hart0345 留个记录

zltim 厉害

lianghua01 趋势阈值设置成0会自动调配吗

huqiangll 在吗,可以租用租用吗

scorpio2811 草神,我是负手续费,这个策略可以合作吗?

慢慢变强的me 怎么判断 一个币的波动量 适合这个高频策略 ?我自己也写了一版本 运行后 全是手续费。平的太快了 主要是 如果等一会(3-5s)就要亏钱 ,草神有没有建议

ssder 就是 韭菜收割者那线程判断牛熊然后 决定做市商只挂做多平多or做空平空 把之前相反头寸清仓?

梭哈大魔王 试运行了下,并且优化了下代码逻辑,还是胜率判断太低了,不知道哪里出了问题。

xukitty 草神牛掰

KindomTeam 草神,文章里说“持仓越大风险越大,所以不能无限制的增加持仓,要有一定的负反馈机制” 但是下面不是说,一开单瞬间就平了么,怎么会有持仓呢?并且持仓越来越大呢?

ovels “判断趋势为上涨就挂单开多,同时平多头,如果此时持有空头仓位就先全部平掉。” 大佬,请问下这句话是不是打错了,为什么判断上涨的时候挂单开多,这个时候要平掉多头。难道是开单的一瞬间就平,只赚这一点差价吗

lyfxx 草神,请问高频策略需要设止盈止损吗?

子楠 阅读量10万……按照目前的速度估计得明年了 /upload/asset/3a943d036b2b085ed589.jpg

骨刀 求租策略 vx:l-21cm

女也 ‘’币安maker返十万分之2的门槛并不高 ‘’ ,这句话是不是错了? 币安合约的maker一直是正向收费啊。

a980483067 联系我,qq980483067

骨刀 加FMZ首页微信---请问是在哪里加?没有找到啊

骨刀 学习,景仰

weixx 膜拜草神

hiquanter 草神!

牛逼plus 膜拜

币管理交易 威武!

明朗 膜拜草神!

空军永不为奴 草神牛逼!

jingfengz 牛逼,草神

lijingxfdj 草神说的负手续费怎么有呢?

gillbates2 我也是,所以不知道怎办。。。我是赚10次,不如亏1次的额。。

慢慢变强的me 哈喽,草神。我吸收了一波,预测上来了。就是赚的少 亏的多,比如你赚30次还不如亏一次的。因为,行情总归要逮住你一次,你仓位怎么做的啊。每次最大多少的仓位?最大哈

bengban 超出管理的认知,你把收益率调低点,然后放到知乎给fmz拉用户。看看币安合约排行榜,连币圈的99%的人的认知都被吊打

萨达哈鲁就是在下 0手续费可以吗

小草 另外也要有负手续费账号

小草 看成交,买卖都非常活跃,此时最适合高频

小草 胜率需要看行情,趋势明显胜率会很高

小草 牛熊时我自己写的判断,方法应该有很多

小草 对啊,尽量少持仓,毕竟大仓位结果方向错了会亏很多

resory 找我可以返佣哦~微信加我:Resory

resory 找我可以返佣哦~

小草 个人感觉不需要

小草 知乎转了被删,申诉也没用,估计管理觉得太离谱了

子楠 好的。对了你可以知乎写了我给你点赞去,两边加起来10万阅读也行

小草 那就不公开了,(lll¬ω¬),你也可以在群里转发下

女也 原来是我级别不够啊!

makebit 我也好奇,币安USDT永续maker没有返手续费的等级呀

小草 币安有做市商

骨刀 谢谢

小草 /upload/asset/1952059442bc9fdef6b.png