【邢不行|量化小讲堂系列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线代码)


如果你想入门量化,但是始终找不到方向,可以加入我的知识星球。我会在里面解答你的问题,分享我的感悟,不论是投资、技术,还是职业选择、思维方式。

 

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