<sup id="ikkqm"></sup>
<rt id="ikkqm"></rt>
<acronym id="ikkqm"><center id="ikkqm"></center></acronym><acronym id="ikkqm"></acronym>

登錄  | 立即注冊

游客您好!登录后享受更多精彩

QQ登錄

只需一步,快速開始

查看: 24699|回復: 11
打印 上一主題 下一主題

VNPY3.0 期貨開源框架快速入門教程

[復制鏈接]

55

主題

95

帖子

912

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
912
跳轉到指定樓層
樓主
發表于 2021-11-3 02:45:04 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
其他文章:
《陳曉優在開源前,2014年~2023年擔任股東公司官網是賭球平臺 , 上海韋納經營多年域名注銷備案后變成賭球網址》

還有我司發的文章
《上海證監局對陳曉優和上海韋納軟件科技有限公司涉及數字貨bi、外hui、美股等非法金融活動進行調查》



關注支持VNPY的3件事
1.右上角Fork和Star代碼  https://gitee.com/vnpypro/vnpy
2.關注VNPY官方社區 https://q.vnpy.cn 常見技術問題
3.在 http://www.gencbio.com 首頁關注VNPY官方微信公眾號,掃描下方微信二維碼,或微信搜“VNPY官方”




其他參考文章
《VNPY免配置開發環境的發行版本看這里》

《VNPY量化交易項目打包exe方法,可在未安裝Python電腦運行》
https://q.vnpy.cn/comm/thread-40-1-1.html
《新版策略自動生成回測文件功能代碼解析》
https://q.vnpy.cn/comm/thread-22-1-1.html
《VNPY3.0以后的版本為什么不用數據庫設計架構?》
https://q.vnpy.cn/comm/thread-21-1-1.html
《VNPY3.0行情數據調用的5種方式 》
https://q.vnpy.cn/comm/thread-24-1-1.html

《VNPY新手常見問題說明》
https://q.vnpy.cn/comm/thread-3-1-1.html
《VNPY3.0 架構圖》
https://q.vnpy.cn/comm/thread-25-1-1.html
《A股\期貨解決方案》
http://www.vnta.cn
《近期產品升級計劃》
https://q.vnpy.cn/comm/thread-35-1-1.html
VNPY官方網址
http://www.gencbio.com
VNPY項目托管開源網址
https://gitee.com/vnpypro/vnpy
用戶福利
http://www.gencbio.com/kaihu/

本文是在使用了選擇Anacanda的默認環境(base),也可以參考下文
VNPY3.0開發環境安裝,PyCharm通過Anacanda虛擬環境簡單說明
https://q.vnpy.cn/comm/forum.php?mod=viewthread&tid=20&page=1&extra=#pid41


【提前做個提示】因為很多人,在這個問題上踩了坑,所以把問題放在最前面。
運行時,提示錯誤  
  1. Traceback (most recent call last):
  2. File "D:/vntrader-master/VNTrader/VNTrader/VNTrader.py", line 20, in <module>
  3. import ui.example_pyqt5_ui as example_ui
  4. ModuleNotFoundError: No module named 'ui.example_pyqt5_ui'
復制代碼

以為是環境搭建不起來?最可能的原因是沒理解什么是進程的根目錄,和Python,pycharm,Anacanda安裝環境沒關系。

先說一下“進程路徑”概念,若先打開Pycharm,再由Pycharm打開項目,Pycharm這個IDE進程才是父進程,Pycharm安裝目錄被識別為進程目錄,而這個目錄沒有項目文件,自然找不到項目文件里 ui.example_pyqt5_ui.py,同時也找不到IDE配置文件.idea目錄,

這是windows的進程概念,和Python和項目無關。正確做法是雙擊VNTrader.py打開項目,這時VNTrader.py進程才是父進程,他才會從這個VNTrader.py路徑作為根目錄讀取模塊和配置文件。

很多用戶都是沒搞清楚進程路徑的概念,明明Python,pycharm,Anacanda環境已經安裝好了,卻不能正確運行。

推薦的正確做法: 在未運行IDE(比如Pycharm)時,用雙擊VNTrader.py的方式啟動Pycharm (操作系統會把VNTrader.py作為父進程,讀取VNTrader.py目錄下的.idea目錄配置文件,以及所有該目錄下的文件)。

還有一個不推薦的辦法:就是配置 Windows全局系統環境path字段,但不推薦這個方法,因為插件太多,處理太麻煩,而且每個運行項目的電腦都要設置。

ui.example_pyqt5_ui  文件路徑為:VNTrader(CTP6.6.1)\QDarkStyleSheet-master\example\ui\example_pyqt5_ui.py


“ 精于量化,以回測為起點“,我司緊密跟隨金融市場日新月異的發展,不斷向新的領域發展,新的產品和服務戰略不斷在延伸 。
  VNPY是由我司上海量貝信息科技有限公司推出的針對國內合規市場的量化交易軟件品牌。

   我司的VNPY品牌主要服務于國內合規金融市場,主要針對包括期貨和A股在內的2個方向研發軟件產品。
   我司嚴格響應國家號召,從未參與非法數字貨幣軟件產品的研發,   同時我公司開源代碼100%屬于原創,也請廣大投資者擦亮眼鏡辨別。


   百度搜索"VNPY",請認準帶有“官方”字樣的網站 http://www.gencbio.com 。



此外通過百度搜索關鍵詞 “VNPY - 知乎” 可找到VNPY官方知乎專欄
認準百度快照如下圖



網絡上部分鏈接是老版本了,請從http://www.gencbio.com 鏈接過去下載最新VNPY3.0版本



《如何快速搭建VNPY期貨CTP框架的開發環境是本文的主要內容 》


Python是編程語言
Python已經當之無愧成為最廣泛用于量化交易和數據分析的語言。

Pycharm是IDE
PyCharm是一種 IDE(Integrated Development Environment,集成開發環境),用于開發Python,可以理解未編譯器和代碼編輯工具。
PyCharm是VNPY官方認為值得推薦的IDE之一。

Anacanda是插件管理工具
Anaconda指的是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項。[1]因為包含了大量的科學包,Anaconda 的下載文件比較大(約 531 MB),如果只需要很少的包, 也可以使用Miniconda這個較小的發行版(僅包含conda和 Python)。

提示:雖然Pycharm也提供了安裝插件的功能,但Anacanda更值得推薦,因為每一個Anacanda的發行版本,都包含了Python語言安裝包,以及匹配該Python版本的盡可能多的插件,這些插件都是互相兼容的。免去了用戶自己安裝一大堆包,還可能存在插件和Python版本不兼容的問題。


VNPY是基于Python技術的量化交易框架
VNPY從2021年下半年開始發布了全新架構的VNPY3.0 ,本文提及的VNTrader就是VNPY開源項目。



http://www.gencbio.com

https://baike.baidu.com/item/VNPY/59208203?fr=aladdin

VNPY設計的原則
有人認為:數據庫不就是存儲數據的嗎,為什么不用數據庫呢?
在場景測試中,金融行業常用的CSV文件格式讀取性能遠遠大于數據庫,大概是高出2個數量級,文件存儲占用空間只有數據庫的1/5左右,如果將CSV 文件開啟NTFS壓縮屬性,文件占用硬盤空間還會進一步壓縮至1/20左右。


但也存在現象,市場上有培訓的需要,會推薦使用數據庫。
但國內商業軟件,幾乎沒有要求安裝數據庫的。
VNPY3.0本著科學、合理的態度,推薦大家使用文件存儲數據,用軟件配置文件存儲設置(賬號、功能設置等)。

VNPY從2021年下半年開始發布了全新架構的VNPY3.0 ,本文提及的VNTrader就是VNPY開源項目。

VNPY 產品定位是,中國內地證監會管轄下的合規市場的開源框架產品,主要分為期貨版本和證券版本。

本次以VNPY全新VNTrader期貨版本為例進行開發環境講解,證券版預計在2022年春節發布,請大家密切關注。

以VNPY的VNTrader期貨版本為例,采用的是上期CTP接口  ,支持國內5大交易所,包括中金所,上海期貨交易所,大連期貨交易所,鄭州期貨交易所,能源所,支持國內149家期貨公司。


CTP接口分為行情接口和交易接口而部分,而原生CTP接口是基于C++的,對Python開發者就必須選擇一款CTP的Python框架來實現。
這是VNTrader界面






本入門課程是VNPY3.0 期貨CTP版,下圖是即將發布的VNPY3.0 證券版登錄截圖
關于CTP接口可以看此文  https://q.vnpy.cn/comm/thread-12-1-1.html






下面我就來介紹一下快速入門的步驟。
一、安裝開發環境(1)安裝Python不必了
        我們推薦采用Anaconda方式安裝,Anaconda自帶Python安裝包 ,所以不用再單獨安裝Python安裝包。
        VNTrader DEMO涉及的庫文件是64位,所以IDE(代碼編譯器pychrm),Anaconda(Python安裝包),插件均要安裝64位的版本。

(2)安裝IDE,我們推薦使用PyCharm作為代碼編譯器
Pycharm下載,社區版本是免費的,需要安裝64位
打開PyCharm官網 ,點擊 Download 按鈕
https://www.jetbrains.com/pycharm/





在下面頁面中,選擇免費的Community (社區版),當然您想花錢賣Professional (專業版)也可以。






安裝包如下圖所示












  


連續點擊  Next 按鈕,直到安裝完成。
(3)安裝   Anaconda
Anaconda 是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項。

https://www.anaconda.com/






  



選擇Windows平臺的64位版本下載




下載   Anaconda 安裝包



運行此 Anaconda安裝包,安裝完成后,在下圖位置啟動Anaconda。








二、下載VNPY開源代碼訪問vnpy官網

http://www.gencbio.com


點擊”Gitee開源代碼“按鈕












進入開源中國頁面,如圖位置點擊  "克隆/下載"->"下載zip",下載完美的壓縮包,也可以通過Github Desktop程序Colon數據








下載完成后,即獲得VNTrader整個項目文件。



解壓后,進入項目目錄




其中
CPP source目錄: 是C++源代碼文件,暫時不用關心
VNTrader目錄: 是VNTrader客戶端源代碼






打開VNTrader目錄,找到VNTradre.py文件





用雙擊VNTrader.py 文件用Pycharm打開項目
(4)安裝   配置Pycharm為Anaconda
用Pycharm作為項目打開后,
打開菜單  ”Run->Edit Configurations..?!?br /> 在對話框如圖紅圈位置顯示 "<No Interpreter>",說明沒有配置好Python環境



  

開發環境一般以虛擬環境的形式,可選擇不同配置環境,很容易搞錯,我們既然選用了Anaconda  安裝管理插件,所以需選用Anaconda
打開菜單  File ->Settings...

  






可能看到如下圖紅圈1內所示 "<No Interpreter>",和前圖是一致的,我們需要點擊紅圈 2選擇 ”+“,添加Anaconda

中文版如下圖


英文版如下圖



















Anaconda虛擬環境已經默認安裝了 VNTrader需要的插件有:
PyQT5 , pyqtgraph , numpy , pandas等


Anacanda默認沒有安裝pyqtgraph,搜索后安裝pyqtgraph




再使用Pycharm打開VNTrader.py是這樣的
紅圈內是Anaconda 自動安裝好的插件






試著運行一下
點擊菜單  ”Run - > Run...“






選擇  "VNTrader"





(5)安裝Pycharm中文插件
打開菜單 ” File ->Settings...  “
如圖選中 ” Plugins“,在紅圈1處填寫”Chinese“搜索,在搜索結果中所圖示紅圈位置2,點擊 "Install",安裝Pycharm中文版插件。




重啟pycharm程序。



重啟pycharm,發現Pycharm已經編程中文版本。





(6)在上述步驟中,不能正常運行
解決方案有3:
(1)未來的新版本Anaconda 中可能內置更新版本的pyqtgraph ,可以消除錯誤;
(2)改用pycharm安裝配置,完全不依賴Anaconda 安裝包;
(3)屏蔽出錯處的”熱力圖“代碼
再次運行







注意只有Talib庫暫時不能從Anacanda搜索到,所以需要按以下步驟安裝
在項目目錄找到 名為“Talib安裝包”的目錄





打開目錄,

我們當前系統安裝的Anacanda內包含的是Python3.9的 64位版本,所以我們
找TA_Lib-0.4.21-cp39-cp39-win_amd64.whl  整個文件


Talib安裝包 (TA_Lib-0.4.21-cp39-cp39-win_amd64.whl) 復制到
Anacanda目錄的script目錄

比如我賬號是wdg,那么拷貝路徑為   C:\Users\wdg\anaconda3\Scripts







在Pycharm的終端輸入以下指令,進行安裝,注意需要匹配的你Python版本,VNTrader都是64位版本,本地Anacanda集成的是Python3.9,
所以安裝TA_Lib-0.4.21-cp39-cp39-win_amd64.whl這個版本


確認Pycharm環境指定為Anacanda環境后,
在Pycharm 下方選擇“終端”標簽運行命令行:
pip install C:\Users\wdg\anaconda3\Scripts\TA_Lib-0.4.21-cp39-cp39-win_amd64.whl







回車







































分享到:  QQ好友和群QQ好友和群
收藏收藏
回復

使用道具 舉報

0

主題

1

帖子

6

積分

新手上路

Rank: 1

積分
6
沙發
發表于 2021-11-4 21:01:49 | 只看該作者
請教一下,在“我們還需在Anaconda 內部安裝相應插件”這一步中,為啥在Anaconda Navigator的Environments中,只有“base(root)”標簽,沒有“VNTrader”標簽? 該如何添加“VNTrader”環境?
回復

使用道具 舉報

55

主題

95

帖子

912

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
912
板凳
 樓主| 發表于 2021-11-6 15:40:39 | 只看該作者
應該是操作順序問題,請再Pycharm選擇Anacanda虛擬環境,再看看
回復

使用道具 舉報

0

主題

2

帖子

8

積分

新手上路

Rank: 1

積分
8
地板
發表于 2021-11-6 18:13:59 | 只看該作者
視頻很詳細,我已經安裝成功,比老版本2.0 性能高出不少

如果提供視頻就更好了
回復

使用道具 舉報

55

主題

95

帖子

912

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
912
5#
 樓主| 發表于 2021-11-6 18:25:46 | 只看該作者
VNPY3.0 完成新功能完成更新迭代后,會統一發布完整視頻
回復

使用道具 舉報

0

主題

2

帖子

22

積分

新手上路

Rank: 1

積分
22
6#
發表于 2021-11-9 12:53:04 | 只看該作者
我有個大膽的想法,能不能弄一個程序一鍵把整個環境安裝配置完畢?
回復

使用道具 舉報

0

主題

1

帖子

4

積分

新手上路

Rank: 1

積分
4
7#
發表于 2021-12-8 22:35:46 | 只看該作者
mosquitog 發表于 2021-11-4 21:01
請教一下,在“我們還需在Anaconda 內部安裝相應插件”這一步中,為啥在Anaconda Navigator的Environments ...

點擊 Add  Interpreter  項中,點擊齒輪圖案,點ADD ,再選conda environment,會看到選擇項
選擇Anaconda3項
Py版本選項選3.9
回復

使用道具 舉報

0

主題

3

帖子

22

積分

新手上路

Rank: 1

積分
22
8#
發表于 2021-12-20 14:00:52 | 只看該作者
mosquitog 發表于 2021-11-4 21:01
請教一下,在“我們還需在Anaconda 內部安裝相應插件”這一步中,為啥在Anaconda Navigator的Environments ...

同問?。?!
上面這教程,坑太多。強烈建議做一個視頻教程,并且把對應版本號的資源打包放在可以下載的地方!
環境搭建不起來,所有的東西都是空談!
回復

使用道具 舉報

0

主題

1

帖子

4

積分

新手上路

Rank: 1

積分
4
9#
發表于 2022-1-14 23:42:09 | 只看該作者
本帖最后由 wlb2000 于 2022-1-14 23:43 編輯

坑太多了。我搭建了2天一夜~沒睡覺。。。首先第一個坑安裝最新的Anaconda 安裝錯誤,百度半天,下載了個5月份的安裝包成功安裝,第二個坑,pyqt5沒有,教程里說anaconda里有pyqt。但我這邊無法加載,pip install pyqt5解決。第三個坑~~PyQtWebEngine沒有裝。。pip install PyQtWebEngine  。第四個坑。。 ta lib安裝方法沒在這頁,容易遺漏~~pip TA_Lib-0.4.24-cp38-cp38-win_amd64.whl解決。說的容易。自己百度研究弄了半天,希望能把這些資源都打包開個帖子,不然對新手太不友好了!~~ 很容易在搭建環境中喪失信心放棄研究!~還有最后一個坑。。就是運行開始會沒有響應,幾分鐘后才能打開頁面,中間也容易結束任務放棄!~
回復

使用道具 舉報

0

主題

3

帖子

10

積分

新手上路

Rank: 1

積分
10
10#
發表于 2022-3-12 05:26:58 | 只看該作者
第一個問題
啟動后一直顯示
FileNotFoundError: Could not find module 'C:\Users\Administrator\Downloads\vnpy-master\vnpy-master\VNPY3.1\VNPY3.1\VNPY(CTP6.6.1)\vnklineservice.dll' (or one of its dependencies). Try using the full path with constructor syntax.
但是我找到了這個文件,路徑是對的,不知道為什么

第二個問題
彈出來的窗口一直顯示程序未響應,不知道是不是受第一個問題影響
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

QQ|Archiver|手機版|小黑屋|VNPY官方Python開源量化社區 ( 滬ICP備17025576號-16 )

GMT+8, 2023-11-9 02:46 , Processed in 0.099700 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表
<sup id="ikkqm"></sup>
<rt id="ikkqm"></rt>
<acronym id="ikkqm"><center id="ikkqm"></center></acronym><acronym id="ikkqm"></acronym>