excel学习库

excel表格_excel函数公式大全_execl从入门到精通

一行代码调用您的“黑盒子因子”-如何用真格量化读取策略附件Excel

部分量化交易者觉得一些内容不适合写到策略代码中,他们更希望从策略附件中调用这些内容(比如一些事先由“高深莫测的AI”选定的交易标的列表、一些平台还未提供的数据或其他各种“黑盒子因子”)。我们现在用一个excel文件为例(excel文件比txt和csv都复杂,如果您读取excel文件都没问题,那txt和csv都不在话下),介绍怎么读取附件内容。首先是上传附件,通过代码编辑框上的“上传附件”按钮即可选择文件上传。真格量化允许您上传总共不超过1G的附件,单个附件的大小不能超过100M。这已经可以包含非常多的数据了。要检查附件是否上传成功,可以点击“管理附件”按钮,能看到文件,说明上传成功。为了读取excel文件,我们需要导入xlrd库。为了处理日期,我们需要导入datetime库。然后,我们要定义两个用来读取excel文件的函数。 首先是打开excel文件的函数:其次是逐行读取excel文件内容的函数:比如我们excel文件内容是这样的:假设我们需要读取的数据在“Sheet1"表:我们给定附件名称(直接写文件名即可,无需路径),和数据表名(比如”Sheet1“),然后只要一行代码就能把表的内容读出来: g.tables=excel_table_byname(filename, 0, sheetname) 我们将表的内容以全局变量的形式存在g.tables,这样我们在策略代码的其他地方都能调用表的内容。 因为xlrd直接读取excel的日期会将其转为浮点数,如果有需要,我们可以通过一个循环将excel表第一列的表示日期的浮点数转成datetime形式或者日期字符串形式。 datestring=datetime.datetime(*xldate_as_tuple(row[0],0)) row[0]=datestring.strftime('%Y-%m-%d') 根据需要g.tables=excel_table_byname(filename, 0, sheetname)这个语句可以放在OnStart或者OnMarketQuotationInitialEx部分或者您需要读取表内容的任何地方。 我们用 for item in g.tables: print item 就可以查看表的内容:现在您就可以自由地在真格量化调用自己积累的各种外部数据和”黑盒子因子“啦。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接