PyCharm及 VS Code 快速配置RQSDK上手
PyCharm
為什么要用PyCharm习勤?
- PyCharm 作為 IDE(集成開發(fā)環(huán)境)淳地,再帶 python 解釋器和虛擬環(huán)境管理功能对人,開箱即用
- PyCharm 默認的內(nèi)置功能極為豐富(Git顿膨、數(shù)據(jù)庫支持翅雏、框架支持等)揣云,無需手動配置插件便可直接使用
- PyCharm 內(nèi)置了在業(yè)界無出其右的靜態(tài)代碼審查(code inspect)功能
PyCharm 下載
官網(wǎng)提供了專業(yè)版和社區(qū)版下載。
專業(yè)版用于科學計算和 Web 開發(fā)斜筐。同時具有 HTML碾局、JS 和 SQL 等支持。專業(yè)版 PyCharm 支持試用30天奴艾。
社區(qū)版用于通常的 Python 開發(fā)。免費且開源内斯。
創(chuàng)建 PyCharm 工程(Project)
下載且安裝完成 PyCharm 后蕴潦,便可打開 Pycharm 后建立一個工程。該階段可以設置項目使用的 Python 解釋器/虛擬環(huán)境俘闯,后續(xù)開發(fā)中的代碼提示潭苞、調(diào)試等功能都依賴為工程配置的虛擬環(huán)境:
- 點擊 Create New Project 按鈕
- 展開 Project interpreter
- 選擇虛擬環(huán)境(若沒有已存在環(huán)境,則 PyCharm 會自動創(chuàng)建)
- 點擊 Create 按鈕
如果沒有python環(huán)境 真朗,編輯器右下角會有進度條提示python的安裝進度此疹。
工程創(chuàng)建完成后,亦可在設置中修改當前工程使用的虛擬環(huán)境:
- 點擊左上角菜單欄FIle -> Settings(macOS 中為 PyCharm -> Preference)
- 點擊 Project: **** -> Project Interpreter
- 點擊右邊小齒輪 -> Show All
- 點擊加號(+) -> 選擇虛擬環(huán)境(Virtualenv Environment) 或者 Conda 環(huán)境(Conda Environment) `
在 PyCharm 中安裝 RQSDK
若當前工程配置的虛擬環(huán)境中還未安裝 RQSDK遮婶,可以直接在 PyCharm 中調(diào)用終端(terminal)安裝蝗碎,PyCharm 會自動在改終端激活先前配置好的虛擬環(huán)境。
若點擊左下角 Terminal 以激活終端旗扑,輸入以下代碼以安裝 RQSDK
pip install -i https://pypi.douban.com/simple rqsdk
使用 PyCharm 編寫代碼
-
創(chuàng)建 Python 模塊(module)
鼠標右鍵項目文件夾 -> New -> Python File -> 輸入文件名
-
若當前工程正確配置了虛擬環(huán)境蹦骑,且虛擬環(huán)境中安裝了 RQSDK,在 py 文件中輸入“rq”時便可以看到 PyCharm 給出的代碼提示
image.png 在 py 文件中輸入代碼臀防,如使用 RQDatac 調(diào)取日線數(shù)據(jù):
import rqdatac
rqdatac.init()
print(rqdatac.get_price("000001.XSHE"))
- 在編輯區(qū)域點擊右鍵執(zhí)行 Run... 便可以運行當前模塊眠菇,注意,上述代碼的運行要求事先使用
rqsdk license
命令配置好 license袱衷。
- 當用了
rqsdk install rqalpha_plus
后捎废,當前python環(huán)境也會有 rqoptimizer 和 rqfactor
使用 PyCharm 運行回測
回測在終端中需要通過 rqalpha-plus 命令而非 python 命令運行,故在 PyCharm 中運行回測需要進行一些額外的配置致燥,以簡單的 buy-and-hold 回測策略為例登疗。
-
創(chuàng)建名為 buy_and_hold 的 python 模塊并鍵入以下代碼:
# buy_and_hold.py def init(context): context.s = "000001.XSHE" context.fired = False def handle_bar(context, bar_dict): if not context.fired: order_shares(context.s, 1000) context.fired = True
點擊右上角的
Add Configuration
在打開的窗口中將第一項左側(cè)默認的運行方式由
Script path
修改為Module name
-
設置
Module name
為rqalpha_plus
,設置Parameters
為回測運行的子命令run
及其參數(shù)嫌蚤,如:run -f buy_and_hold.py -s 20190101 -e 20191231 -a stock 20000 --plot
- 點擊 OK 按鈕以完成配置
- 點擊右上角的三角形按鈕以運行回測谜叹,或點擊蟲子按鈕以調(diào)試(debug)代碼
Visual Studio Code (VS Code)
為什么要用 VS Code匾寝?
- 輕量化,下載安裝更快荷腊;資源占用低艳悔,對配置相對不足的計算機更友好
- 啟動快速,首次創(chuàng)建工程時沒有漫長等待創(chuàng)建索引的過程
- 生態(tài)健全女仰,有著豐富的第三方主題和插件
在Visual Studio Code官網(wǎng)可以下載標準版猜年。
安裝 Python 插件(Extensions)
VScode 不是 python 專用的編輯器,故使用其開發(fā) python 需要安裝專門的插件支持才能獲得代碼提示疾忍、審查乔外、調(diào)試等功能:
- 在左側(cè)欄點擊 Extensions 后,搜索 python一罩,選擇搜索到的第一項并點擊
install
按鈕安裝杨幼。
設置虛擬環(huán)境/Python 解釋器
- 使用 Ctrl+Shift+P 快捷鍵(macOS 為 Command+Shift+P)打開 command palette 窗口
- 輸入關鍵字
python select
并找到Python: Select Interpreter
一項, 點擊該項并在隨后彈出的 Python 解釋器列表中選擇目標虛擬環(huán)境中的解釋器(若目標虛擬環(huán)境未列出聂渊,則需要手工輸入解釋器的路徑)
使用 VS Code 編寫代碼
- 新建一個文件夾
- 將文件夾拖入到VS code 窗口
- 創(chuàng)建py文件 demo_rqdatac.py
- 使用rqdatac 查看平安銀行日線數(shù)據(jù)
文件中輸入以下代碼:
import rqdatac
# 從 https://www.ricequant.com/welcome/trial/rqdata-cloud 申請試用 獲取rqdata_uri
uri = "tcp://phone_number:password@rqdatad-pro.ricequant.com:16011"
rqdatac.init(uri=uri)
print(rqdatac.get_price("000001.XSHE", 20190101, 20190501))
- 運行rqalpha-plus
生成樣例策略并運行
運行樣例策略需要的命令如下 (假設conda環(huán)境名為py35)
conda activate py35
pip install rqsdk -i https://pypi.douban.com/simple/
rqsdk install rqalpha-plus
rqsdk download-data
rqalpha-plus examples
rqalpha-plus run -f examples/buy_and_hold.py -s 2018-01-01 -e 2018-05-31 -fq 1m --plot --account stock 1000000
命令對應作用如下:
- 激活名為 py35 的 conda環(huán)境差购,如果沒有則輸入conda create -n py35
- 安裝 rqsdk和rqalpha-plus
- 生成樣例策略文件夾
- 使用 examples 的 buy_and_hold.py 策略啟動回測
用debug方式運行回測
launch.json配置如下
{
// 使用 IntelliSense 了解相關屬性。
// 懸停以查看現(xiàn)有屬性的描述汉嗽。
// 欲了解更多信息欲逃,請訪問: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: 模塊",
"type": "python",
"request": "launch",
"module": "rqalpha-plus",
"args": ["run", "-f", "examples\\buy_and_hold.py", "-s", "2018-01-01", "-e", "2018-05-31", "-fq", "1m", "--plot", "--account", "stock", "1000000"]
}
]
}