跳到主要內容

Gekko 批次回測工具 (Backtest Tool),一次跑多個貨幣組合,達到多線程 (Multithreading) 處理



這個是由 @xFFFFF 提供的 Gekko 批次回測工具,它能在同一時間回測多個策略或不同的貨幣組合,並將結果直接顯示在 CMD 上並輸出成 .csv 檔。除了方便一次回測大量數據外,它的重點是能達到多線程 (Multithreading) 執行,Gekko 本身並沒有這項功能,所以就算你有 6C12T 它也是只會使用 1C1T,比較直覺的解決辦法就是多開幾個網頁 UI 或 CLI 就好了,但那會需要個別設定很浪費時間,而這個 Backtest Tool 剛好幫你解決了這個麻煩。

GekkoBacktestTool
GitHub : https://github.com/xFFFFF/GekkoBacktestTool


首先先到 GitHub 把它下載回來,或使用 git clone https://github.com/xFFFFF/GekkoBacktestTool.git 指令。並將裡面的 backtest.pl 與 database.csv 複製到 Gekko 資料夾內。


my @strategies = qw( neuralnet RSI_BULL_BEAR_ADX );
my @pairs = qw(
binance:USDT:ETH
binance:BTC:NEO
);
再來打開 backtest.pl 並修改 @strategies (選擇的策略) 和 @pairs (交易的組合),要填入幾個基本上是沒有上限的,可以一次回測多個節省時間,填寫兩個策略或交易組合間記得要空白。也可以順便修改下方的策略參數、Candlesize、Historysize...等, 這些會決定你策略執行的結果。


sudo cpan install Parallel::ForkManager Time::ParseDate Time::Elapsed
然後先使用指令安裝 Parallel。


perl backtest.pl
先 cd 到 Gekko 資料夾後就能開始回測了,結果會直接顯示在終端機上。和使用 CLI 一樣,所有策略的參數都必須在剛剛的 backtest.pl 內設置,這邊只會呈現結果。


database.csv 內也可以比較清楚的看到回測結果,每次回測並不會清空這個 csv,可以當作回測紀錄來使用。






留言



這個網誌中的熱門文章

Linux (Ubuntu) 查詢硬碟容量、剩餘大小指令

在 Ubuntu Desktop 版本或有安裝 GUI 像 Xfce 的 Server 版本當然可以直接從圖形介面查看硬碟容量和已經使用的大小, 但如果是在純 CLI 版本或使用 SSH 連線時呢?那就需要用到指令了。 顯示硬碟容量、已使用、可用大小。 df -h 查詢資料夾所占硬碟的大小。 du -h 查詢檔案大小 ls -l

WinRAR - 繁體中文版、免費版,別再破解了,老牌壓縮軟體直接免費給你用

WinRAR 應該對於所有 Windows 使用者一點都不陌生,可能也是很多人壓縮、解壓縮檔案的首選,舉凡 RAR、ZIP、7-Zip、TAR ...等檔案格式都可以處理,製作自解壓縮 (.EXE) 檔也沒問題,也算是最老牌的解壓縮軟體之一。 WinRAR 官方網站 :  https://www.win-rar.com 繁體中文版 :  https://rar.tw/download.html 永久免費簡體版 :  http://www.winrar.com.cn/download.htm 其實我也不太理解為什麼一個 WinRAR 可以有這麼多版本、不同語系的官網,畢竟在最原始的官網內也有「漢語」(簡體中文) 的選項,所以其他的國家自己的官網算代理商嗎? 如果真的要說我會比較建議到 英文版的官網 下載,畢竟這種軟體轉了一手又一手,加了什麼都不知道。

吃光硬碟讀寫的大怪獸 - Superfetch 是什麼?可以關嗎?

Superfetch 是 Windows 內建的硬碟快取功能,它會預先將檔案讀取起來到 Ram 裡方便稍後做使用,所以常常在工作管理員內都可以看到 Superfetch 往往占掉了不少的硬碟使用量,那這樣的情形是好的嗎?其實理論上並不會有太大影響,畢竟 Superfetch 只是將等會要讀取的內容先預置在 Ram 中,如果不趁硬碟負載小的時候優先讀取,之後反而可能忙不過來呢。當然如果你是使用 SSD 的話可能會為使用壽命擔心, 高頻率的讀取可能加速固態硬碟老化,那在讀取速度原本就很快的 SSD 當然就相對的沒有必要開啟 Superfetch 了。 Superfetch 在電腦待機時吃掉大部分硬碟使用量是很常有的事。 要關閉也很簡單, Win+R > services.msc 打開「服務」,找到 Superfetch。 右鍵 > 內容,將它更改為「 已停用 」後確定即可。