【邢不行|量化小講堂系列57-實戰篇】量化投資必備!10分鐘學會Windows下定期自動運行任務

引言:

邢不行的系列帖子“量化小講堂”,通過實際案例教初學者使用python進行量化投資,瞭解行業研究方向,希望能對大家有幫助。

【歷史文章彙總】請點擊此處

【必讀文章】

【邢不行|量化小講堂系列27-Python量化入門】EOS期現套利,一週時間,15%無風險收益

【邢不行|量化小講堂系列20-Python量化入門】10年400倍策略分享(附視頻逐行代碼講解)

個人微信:xbx9025,有問題歡迎交流


量化投資必備!10分鐘學會Windows下定期自動運行任務

      這是邢不行第 57 期量化小講堂的分享

作者 | 賈真假、邢不行

 

在量化投資的過程中,我們經常會遇到定期執行某個任務的需求。

例如在每天股市收盤後,需要定期收集今天的個股數據。

例如幣圈中BTC在場外交易的最新價格,我希望每隔1小時能監測並記錄一次。

再例如我希望程序每隔5分鐘能監測下某個資產的價格,若達到了我的止盈條件就自動賣出。

以上都是定期執行任務的需求場景,如果是每次都手動去運行程序,不僅繁瑣,而且會經常忘記。

本篇文章演示在交易時間,每隔1小時自動獲取萬科這個股票的最新價格,並保存到指定文件中。希望通過這個案例,讓大家學會如何在windows下自動定期運行任務。

首先我們需要想辦法獲取當前時刻股票的價格,這在邢不行的《Python股票量化投資》課程中有詳細講解。

現在簡單的分享其中部分代碼,具體見下方截圖:

抓取萬科股票當前時間價格的代碼截圖

可以看到,只需要6行代碼就可以實現這個功能。我們將上面的代碼保存在“獲取股票當前時刻數據.py”文件中。運行一下腳本,會發現在python腳本的文件夾中會出現一個“sz000002.txt”文件。輸出結果爲下面的截圖。

“sz000002.txt” 文件內容截圖

如果需要這部分代碼,或有問題,可以加邢不行的私人微信號討論:xbx9025。

現在我們已經有辦法獲取最新的價格了,那麼接下來要做的就是在每天股票交易時間裏,每隔一小時自動運行一次該函數

自己每天定期手工運行程序肯定比較麻煩,接下來會介紹如何讓程序每天定時自動運行

在Windows 10 系統中都有一個自帶的應用程序叫做“任務計劃程序” (Task Scheduler)。通過這個程序就可以實現每日定時運行特定程序的功能

任務計劃程序截圖

首先我們來看看如何打開任務計劃程序。

敲擊鍵盤的windows鍵,然後輸入“任務計劃程序”。可以看到出現了下面第二張截圖的樣子。

鍵盤上面的windows鍵   輸入“任務計劃程序”之後的屏幕截圖

這個時候我們再敲擊回車鍵就可以打開這個程序。

由於任務計劃程序是沒有辦法直接運行python腳本。所以我們還需要準備一個bat腳本來運行python腳本

不要被腳本這種名字給嚇到。其實這個文件很簡單。只需要一行代碼就可以實現我們想要的功能。

首先我們在桌面空白位置右鍵新建一個文本文檔。完成之後會發現文件夾中多出來一個“新建文本文檔.txt”。

在文件夾中新建腳本文件的截圖

將文本文件命名爲“獲取股票當前時刻數據.bat”。“.bat”之前的文字都可以根據要實現的功能來命名。

命名完成之後會跳出詢問是否更改文件擴展名的警告。點擊“是”就可以完成重命名。

修改文件名稱時會遇到的警告

然後用記事本打開“獲取股票當前時刻數據.bat”文件,並在裏面輸入下面這行代碼:

自動運行python腳本的代碼截圖

這行代碼的格式是python(空格),後面加上要運行的python腳本的地址。即"python 文件地址\文件名"。

在截圖的這個示例中文件地址爲"C:\Users\xbx\Desktop\獲取分鐘k線數據"。文件名爲"獲取股票當前時刻數據.py"。要注意裏面的分隔符號都是“\” 而不是 “/”。

準備好了bat文件就可以開始設置第一步中打開的任務計劃程序,來部署我們的bat文件。

新建任務

然後輸入每日自動運行任務的名稱。如果該任務比較複雜,也可以在描述中輸入該任務的具體介紹。完成之後點擊下一步。

設置任務名稱

這裏是設置該任務的運行頻率。因爲我們是每日都要更新當日的股票數據,所以這裏設置爲每天。然後點擊下一步。

設置任務運行頻率

這裏是設置第一次運行程序的時間及其任務之間的時間間隔,這裏將其設置爲上午10點30運行,並且每隔一天運行一次。完成之後點擊下一步。

設置任務開始時間

這裏是選擇操作類型,我們這裏選擇默認的啓動程序,選擇好之後點擊下一步

設置執行任務類型

在這裏就要用到我們第二步準備的bat腳本。點擊瀏覽,然後找到我們要運行的bat腳本文件,點擊確定。設置完成之後點擊下一步。然後再點擊完成。

經過這幾個步驟就完成了任務計劃程序的設置。

設置要執行的任務

我們會發現任務計劃程序中有了我們設置的“每日10:30更新股票數據”的自動運行任務。如果想要測試一下有沒有正確設置,可以點擊右邊的運行按鈕來試運行一下。

設置好自動運行任務的任務計劃程序截圖

可以看到點擊了運行按鈕之後會跳出命令行。命令行運行的就是我們的下載每日分鐘級股票數據的python腳本。下面就是運行程序的截圖:

自動運行程序截圖

到這裏我們就設置好了一個每日自動運行的程序。爲了獲取每小時的萬科價格,我們只需要在再設置另外三個自動運行程序,分別將其運行時間設置在每天的11:30,2:00,3:00。

其實要獲取股票每小時的數據並不需要這麼麻煩,有其它更簡單的方法。本文只是用這個作爲案例,來講解如何在windows10上自動運行腳本。大家可以根據具體的需求,來靈活的使用任務計劃程序。

另外有的朋友使用的是Mac OS和Linux,在這兩個上面自動運行程序其實更簡單。如果有感興趣可以在文末留言,之後可能會出一期Mac OS和Linux版本的文章。

聯繫邢不行

推薦閱讀

2018量化炒幣7大玩法覆盤 | 視頻、PPT分享

收藏!量化小講堂前50篇合集(含代碼)

量化投資中經常使用Excel,可能會被同事打

警惕!數字貨幣交易所排名陷阱:到底哪家交易最活躍?(下)

歷年排名前10的基金,在第2年表現如何?Python告訴你答案

在量化投資中,原來K線還能這麼畫(附畫K線代碼)


如果你想入門量化,但是始終找不到方向,可以加入我的知識星球。我會在裏面解答你的問題,分享我的感悟,不論是投資、技術,還是職業選擇、思維方式。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章