【躺赚之路】比特币自动交易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 - 环境搭建

连接成功


分享到:


相關文章: