蛙人高頻交易拆單策略—帶手續費拆單策略及原理說明

      最近幾個月政府加大了數字幣的監管力度各大平臺都已陸續開始加收手續費。像比特幣、萊特幣這樣的傳統幣的手續費已經達到單向0.2%,即:不管掙錢與否,1000元的一次買入賣出,用戶就要承擔高達4元的手續費。這樣一來,不少市場的K線都變成了一條直線,交易量大跌。算法

      可是在仔細思考以後,咱們不難發現,其實大多的交易市場都有手續費(期貨、股票)。那麼,咱們應該如何在有手續費的市場中實現高頻交易而且獲利呢?此次,我們就來聊聊帶手續費的高頻拆單策略。(只適用於軟件自動交易,人工交易可能會被累死)安全

1.手續費與交易的漲幅收益關係微信

有手續費,並不表明沒有收益,固然若是算法不正確,就必定賠錢。下面,咱們來列舉幾個不一樣價位和手續費的交易物,並計算其收益漲幅,以下表所示:負載均衡

交易物測試

單價優化

手續費this

最低收益漲幅(元)spa

BTC3d

6666code

0.002

28

ETH

84.25

0.0005

0.09

網易白銀

40.92

0.0008

0.07

LTC

25.52

0.002

0.1

ETC

8.37

0.0005

0.01

網易氧化銪

7.29

0.0008

0.02

 

看官們可從上表中發現,當交易物單價越低的時候,最低漲幅也越低,像ETC及網易氧化銪這樣的交易物,單手只要漲1~2分錢便可以有收益。若是按人民幣交易並以兩位小數計算精度的話,1~2分錢之間就已是最低精度了,相似這樣的交易物是比較安全的。並且因爲單價比較低,即使是漲了0.02元,利益也是比較大的。下面咱們以ETC爲例,對策略及算法進行說明。

 

2.交易策略

在交易過程當中,主要有三件事兒須要控制,即:

  • 下單時機
  • 下單比例
  • 訂單追蹤

2.1    下單時機

既然是「高頻交易」,那策略就要在合理的狀況下,儘可能的追求更多的交易次數。一般狀況下,可使用短線判讀指標來確認是否能夠買入,例如:

  • SMA3是否大於SMA5
  • MACD(3,5,9)是否大於0
  • SAR線是否小於K線的Low值

看官們能夠發現,除了SAR外,其餘兩個指標的數值都很是的小,其目的就是爲了提升交易次數。另外,買入指標最好只選取一個,目前筆者實現的軟件中,採用的是SMA3和SMA5追逐方式進行斷定,以下圖所示:

 

 

 其主循環的代碼以下所示:

int tradeStep = 0;

                while (this.NeedStop == false)
                {
                    try
                    {

                        var kline = await this.client.GetKline("5min");
                        if (kline.Count != 0)
                        {
                            this.Config = (await this.client.GetConfig()).AdditionalData;
                            var tvs = kline.Select(k => new TimeValuePair() { DateTime = k.Time, Value = (double)k.Middle }).ToList();
                            var maShort = MathUtil.GetSMALine(tvs, this.Config.SMAShort);
                            var maLong = MathUtil.GetSMALine(tvs, this.Config.SMALong);
                            switch (tradeStep)
                            {
                                case 0:
                                    if (maShort.Last().Value > maLong.Last().Value)
                                    {
                                        tradeStep = 1;
                                    }

                                    break;
                                case 1:
                                    var hasOrder = await this.HasOrder();
                                    if (!hasOrder)
                                    {
                                        await this.CreateOrder();
                                    }
                                    if (maShort.Last().Value < maLong.Last().Value)
                                    {
                                        this.rate = 1;
                                        tradeStep = 0;
                                    }
                                    break;
                                default:
                                    break;
                            }
                            await this.CheckOrder(maShort.Last().Value < maLong.Last().Value);
                        }




                    }
                    catch (Exception ex)
                    {


                    }

                }

 

2.2    下單比例

首先咱們來聊聊拆單的重要性。投資先驅江恩先生說過,永遠不要把全部資金投到一個項目上。假設您有100000元現金,要投到ETC上,若是上漲1分錢的話,大致的收益爲21元。天呀,天天只要有100次成功交易的話,用不上一個月的時間,您的資金能夠翻一倍。可是問題來了,有誰保證,只要出手必定是掙錢的呢?若是行情一旦暴跌5分錢,您此次會賠700元。最很差的狀況是,您的10萬元被套住了,同時又出現了從低點大漲的行情,這個時候,您就只能眼睜睜的看着別人掙錢了。

爲了下降風險,一般狀況下,須要將總可用金額拆成10到15份進行交易,即:每隻用本身淨資產的10到15分之一進行買單。這樣的話,您的投資的金額即使被套住,還會有其餘的資金進行流動。

筆者在測試過程當中,將3000元拆成了約12單(每單線性衰減),在24*3小時的交易結果統計以下:

 

 

 

經過上表分析,被套住的金額大約只佔了約三分之一,其餘大部分的資金還在正常流動。此時,即使強行平倉,損失也只有總收入的5%並且。

2.3    下單衰減策略

看到上面的統計結果後,看官們可能會提出疑問,若是按每次下單金額爲總金額的1/12計算的話,被套住9單後的強制平倉金額怎麼會只有不到6塊錢呢?其實,被套住的9單並非按總金額的1/12來下單的,緣由何在?首先,讓咱們來看看行情的變化趨勢,以下圖所示:

 

 

該圖中,咱們能夠看到,每一個可交易區間的上漲趨勢基本上都是按着接近拋物線的方式進行的,時間越長,其斜率越小(漲幅越小)。簡單的理解,即:價格漲的越高,被套住的可能性就越大,所以,下單的比例就應該越小。按此理論,在一個可交易區間中,下單的狀態基本上以下表所示:

 

 

隨着時間的發展,每次下單的比例,都按照必定的算法進行衰減。

下面咱們來看一下,整個下單策略的業務流程圖:

 

 

2.4    訂單追蹤

整個交易策略中,訂單追蹤是最核心也是最麻煩的一個環節。因爲不少交易API提供商會對請求的時間間隔作出限制(例如國內的不少的數據幣交易平臺要求每秒中,單用戶的請求間隔在150毫秒到200毫秒之間),所以須要不少的軟件技術支持,如:算法優化、請求共享、負載均衡等。因爲涉及到核心商業利益,此處不便詳解。

  1. 3.       總結

目前蛙人高頻交易算法一直在CHBTC上用ETC進行驗證,若是朋友們有其餘可行的交易接口,能夠和我聯繫,你們一塊兒研究。

做者:科學家

                                                    Email:warensoft@163.com

                                                    微信:43175692

相關文章
相關標籤/搜索