【躺賺之路】比特幣自動交易2 - 環境搭建

框架選擇

本系列教程會講四個策略:基於ccxt開發的動態平衡策略,基於vnpy開發的趨勢跟蹤策略,基於vnpy開發的價差套利策略,基於thenextquant開發的做市策略。

工具和開源框架選取包括:pycharm + vnpy + ccxt + thenextquant

安裝vnstudio

vnpy、ccxt、thenextquant都需要python開發環境,而vnstudio包含了Python解釋器以及一系列量化交易常用的第三方庫,只需要簡單幾步安裝就可以輕鬆搭建量化交易的python開發環境,簡單而有效!

打開vnpy.com首頁,點擊安裝2.1.2,然後等待下載完成。

【躺賺之路】比特幣自動交易2 - 環境搭建

vnstudio下載界面

下載下來之後,雙擊運行該文件,按照提示安裝就行。vnstudio的安裝很簡單,只需要選擇安裝目錄,建議這裡不要修改就用默認的路徑c:\vnstudio

值得一提的是vnstudio裡面已經集成了vnpy的源碼,所以我們也不需要單獨去git上面再去下載vnpy的源碼了

設置工作目錄

安裝完成之後我們會發現桌面上多了一個快捷方式VN Station,我們不需要這個,直接刪掉。接下來打開文件夾C:\vnstudio,然後新建一個文件夾Project,以後我們的項目都放這個目錄。再在Project文件夾內新建一個文件夾vnpy2.1.2,準備把vnpy項目剪切過來。


【躺賺之路】比特幣自動交易2 - 環境搭建

vnstudio目錄

【躺賺之路】比特幣自動交易2 - 環境搭建

vnpy項目目錄


接下來打開文件夾C:\vnstudio\Lib\site-packages,把vnpy的代碼剪切到C:\vnstudio\Project\vnpy2.1.2目錄裡面。下圖中包括vnpy和vnstation的源碼,有興趣的可以自己看看vnstation的源碼,我們只需要把vnpy文件夾整個剪切到C:\vnstudio\Project\vnpy2.1.2目錄裡面,然後再刪除

vnpy的.egg-info的文件夾就OK了。

【躺賺之路】比特幣自動交易2 - 環境搭建

site-packages目錄

【躺賺之路】比特幣自動交易2 - 環境搭建

vnpy2.1.2目錄

【躺賺之路】比特幣自動交易2 - 環境搭建

vnpy目錄

安裝Pycharm

PyCharm是一種Python IDE,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。

PyCharm的安裝也很簡單,我用的版本是pycharm-community-2019.1.1,安裝過程如下:

【躺賺之路】比特幣自動交易2 - 環境搭建

點擊Next

【躺賺之路】比特幣自動交易2 - 環境搭建

Next

【躺賺之路】比特幣自動交易2 - 環境搭建

Next

【躺賺之路】比特幣自動交易2 - 環境搭建

Install

點擊Install之後,耐心等待安裝完成即可。

啟動項目

啟動pycharm,打開Project裡面的vnpy項目:

【躺賺之路】比特幣自動交易2 - 環境搭建

點擊Open

【躺賺之路】比特幣自動交易2 - 環境搭建

目錄一定要選擇這一層

確保你的目錄結構和我一樣:

【躺賺之路】比特幣自動交易2 - 環境搭建

項目結構

到這裡vnpy項目項目已經導入到我們的IDE裡面了,接下來我們就可以針對源碼進行開發了。首先我們寫一個trader界面,用來連接指定的交易所。

1)鼠標右鍵項目-》點擊新建-》點擊目錄-》輸入目錄名稱。這裡我創建了一個名稱為run的目錄。

【躺賺之路】比特幣自動交易2 - 環境搭建

創建UI運行目錄

【躺賺之路】比特幣自動交易2 - 環境搭建

2)鼠標右鍵run-》點擊新建-》點擊python文件。這裡我創建了一個名稱為run的py文件。

【躺賺之路】比特幣自動交易2 - 環境搭建

新建py文件

【躺賺之路】比特幣自動交易2 - 環境搭建

項目結構

3)複製下面代碼到run.py-》右鍵運行該代碼。

<code># flake8: noqa
from vnpy.event import EventEngine

from vnpy.trader.engine import MainEngine
from vnpy.trader.ui import MainWindow, create_qapp

from vnpy.gateway.binance import BinanceGateway

from vnpy.app.cta_strategy import CtaStrategyApp
from vnpy.app.csv_loader import CsvLoaderApp
from vnpy.app.algo_trading import AlgoTradingApp
from vnpy.app.cta_backtester import CtaBacktesterApp
from vnpy.app.data_recorder import DataRecorderApp
from vnpy.app.risk_manager import RiskManagerApp
from vnpy.app.script_trader import ScriptTraderApp
from vnpy.app.rpc_service import RpcServiceApp
from vnpy.app.spread_trading import SpreadTradingApp
from vnpy.app.portfolio_manager import PortfolioManagerApp
from vnpy.app.option_master import OptionMasterApp
from vnpy.app.chart_wizard import ChartWizardApp
from vnpy.app.excel_rtd import ExcelRtdApp

from logging import INFO
from vnpy.trader.setting import SETTINGS

SETTINGS["log.active"] = True
SETTINGS["log.level"] = INFO
SETTINGS["log.console"] = True


def main():
    """"""
    qapp = create_qapp()

    event_engine = EventEngine()

    main_engine = MainEngine(event_engine)

    main_engine.add_gateway(BinanceGateway)
    
    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)
    main_engine.add_app(CsvLoaderApp)
    main_engine.add_app(AlgoTradingApp)
    main_engine.add_app(DataRecorderApp)
    main_engine.add_app(RiskManagerApp)
    main_engine.add_app(ScriptTraderApp)
    main_engine.add_app(RpcServiceApp)
    main_engine.add_app(SpreadTradingApp)
    main_engine.add_app(PortfolioManagerApp)
    main_engine.add_app(OptionMasterApp)
    main_engine.add_app(ChartWizardApp)
    main_engine.add_app(ExcelRtdApp)

    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()


if __name__ == "__main__":
    main()
/<code>
【躺賺之路】比特幣自動交易2 - 環境搭建

連接成功


分享到:


相關文章: