投资全球更要投资自己
我的订阅

【7】活用列表:记录每一分钟的K线收盘价

article.author.display_name 用Python的交易员
字数 6,079
阅读需 16分钟

打开一个更具知识体系化的宽客世界

▲ 全年订阅  加入专属交流群(进群方式见文末)

大家好,欢迎来到《量化投资24小时》的第7集,在上一集中我们主要地介绍了在字符串的一些相关使用,在这一集中我们将介绍列表(list)的使用。打开cmd窗口,从这一集开始选择ipython的交互式开发环境来演示。(在窗口中输入ipython后回车,进入交互式终端)

列表是有序的数据集合,有序是指在其中所有保存的东西都是有顺序的;数据集合意味着它相当于容器,我们可以在其中保留一个又一个的数据。

友情提示:为确保视频精度,请尽量在PC端观看本集内容。

Part 1 创建列表 - 01分22秒

step1:demoL=【‘a’,‘b’,‘c’,‘d’,‘e’】

step2:回车,得到demoL的列表

step3:print demoL 回车,则得到数据集合  

Part 2 访问数据 - 02分23秒

02分23秒

step1:demoL【0】回车,得到‘a’这个字符串

         demoL【4】回车,得到‘e’这个字符串

假如访问的数据已经超出列表的范围demoL【10】,则会触发异常IndexError,显示访问列表的下标已经超出列表长度

 

03分50秒

step2: len< demoL > 回车就会显示当前列表长度

 

Part 3 列表和其他静态语言的区别 - 04分05秒

04分16秒

 列表里的数据可以是不同类型的

C++中容器里的数据类型必须是唯一的

step1:demoL2=【1,2.3,‘abc’,True,【5,6,7】】

甚至其中有一项数据是另一个列表

step2:回车,print demoL2,得到数据集合

06分01秒

Python里面的列表可以实现嵌套

step1: demoL3=【【1,2,3】,【4,5,6】,【7,8,9】】

step2:回车,print demoL3,得到数据集合

 

Part 4 在已有列表中加入新元素 - 07分10秒

07分26秒

step1:创建列表l=【1,2,3,4,5】

         l . append<6> (这个函数用来将数据插入列表的尾部)

         print l 回车可以看到数据集合中多了一个6

08分08秒

step2: l . insert<0(表示插入的位置),0(表示插入的数值)>

         print l 回车可以看到0被插入到了列表的首位

08分40秒

step3: 创建新的列表l2=【7,8,9】

          l . extend<l2>(这个函数用来将新列表插入原列表尾部)

         print l 回车可以看到l2这个列表被插入到其中

 

Part 5 删除数据 - 09分36秒

09分40秒

step1: l . remove<9>

          print l 回车可以看到l列表中9这个数据被删除

10分00秒

step2: l . pop<0>(pop是基于位置的移除)回车可以看到被移除的数据

          print l 回车可以看到0位置的数据被删后的列表

 

Part 6 把某个位置的数据更新 - 11分08秒

更新数据的位置是原来数据位置下标减1

l=【2,3,4,5,6,7,8】

step1: l【1(将3更新,则位置是2-1=1)】=300

step2: print l 回车看到列表中第二个下标位置的数据由3变成300

 

Part 7 数据的遍历 - 12分09秒

12分18秒

step1:遍历列表中每个数据并将每个数据加一打印出来

         for i in l :(for循环)

print i+1 回车看到列表中对应的都是原有数据加一后的结果

13分14秒

step2:l2=【】

         for i in l:

         l2 . append<i+1> 回车看到l形成,由原列表每个数据加一组成

14分27秒

step3:列表解析

         l3=【i+1 for i in l】

       (将上步中三个代码混合,可读性增强且简便)

        print l3 得到上步相同的结果

 

Part 7 数据的遍历  - 15分20秒

15分23秒

step1: 时间序列的数据

          closePrices =【】

          closePrices . append<100>(将每次收到的k线Bar的收盘价添加其中)

         print closePrices 回车可看到每次收到的价格都能显示在其中(在Python环境中列表里添加元素越多,所做的查询等操作耗时线性增加)

17分27秒

step2: 列表的排序

          sortedClosePrices = closePrices . sort<>

          print ClosePrices 可看到数据从小到大排列

          可用于收到期权行权价格后的对象列表排序

-end-

   加群方式 

 感谢您订阅本特辑,全年订阅用户加见闻小秘书微信(wscnPREMIUM)后发送用户名与订单截图,即可加入专属微信讨论群深入学习。

风险提示及免责条款
市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。
写评论

icon-emoji表情
图片