楼主: 邢不行
1897 3

[交易策略] 从零编写60%+胜率的短线择时信号!零基础python量化投资代码详解【邢不行】【下】 [推广有奖]

院士

7%

还不是VIP/贵宾

-

威望
1
论坛币
26743 个
通用积分
151.1930
学术水平
485 点
热心指数
505 点
信用等级
456 点
经验
52925 点
帖子
571
精华
26
在线时间
1134 小时
注册时间
2010-4-30
最后登录
2024-11-5

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
接上文

02

量化数据获取

在编写代码前我们首先要知道如何获取北向资金数据。


1、财经网站


最基本的可以去港交所官网下载北向资金交易明细数据。

10举例.png

港交所网址:www.hkex.com.hk

但上面的数据并未整理且无法直接下载,你需要用Python写爬虫代码去抓取相关数据。

所以我更建议你从主流财经网站上爬取数据,如东方财富网、新浪财经等。


上面有每日更新整理好的数据,爬取内容比港交所更优质。

11东财.png

东财数据网址:data.eastmoney.com/hsgt

2、量化小课堂

也可以到我们量化小讲堂网站进行下载,上面有各类A股和数字货币相关数据,其中就包含北向资金数据。

12小讲堂.png

量化小讲堂:quantclass.cn/data/stock

3、数据展示

下载数据后得到可以直接使用的沪股通和深股通的Excel文件。

13沪股通.png

沪股通Excel


运用文件中包含的当日成交净买额(净流入)字段,可以统计不同情况下北向资金单日净流入的出现次数。

此外还需沪深300指数每日收盘价数据来计算涨跌幅,以统计大盘未来几日表现。

量化小讲堂同样提供指数的历史日线数据,且能永久免费获取


14小讲堂.png

量化小讲堂:quantclass.cn/data/stock


加我获取网址后,下载的数据如图所示,包含了2005年至今沪深300指数每日开高收低的价格数据。


15沪深300.png

沪深300指数历史日线数据


这样我们就整理好了所需数据:北向净流入和指数收盘价。

接下来就是我们真正硬核的内容:如何通过Python编程得到下方统计图。


16北向资金统计.png

真正的勇士可以继续看完逐行的代码讲解


03

编程思路

下面就是完整的编程思路文字版,需要的话也可以看视频版本:

企业微信截图_16328819714749.png

点击观看视频

编程部分从7:52起


1、数据初步处理

我们下载的数据(沪股通/深股通/沪深300)都以CSV格式存储,可用Excel打开。

17数据csv.png

正式讲解编程前,我先用Excel来演示数据处理的思路,看完就会发现编程操作大抵如此。

首先新建一个Excel,将沪深300表格中2014年11月17日之后的日期与close列(收盘价)数据复制过去。


18沪深300.png

沪深300指数数据


沪深300指数数据同样将沪股通和深股通的当日成交净买额列对照日期复制过去。

19沪股通.png

沪股通

20深股通.png

深股通

沪、深当日成交净买额列相加形成北向资金当日净流入列,如下表:

21初步处理.png

初步处理后数据表格

2、数据统计

根据以上数据计算大盘在北向资金单日净流入事件触发后未来几日的表现。

要求次日表现,就用(次日收盘价-当日收盘价)/当日收盘价得到。如11月17日则为(2541.42-2567.1)/2567.1 = -1%,即跌幅1%。

同理可计算大盘未来3日和5日表现。

22五日表现.png

11月17日未来5日表现计算方式




选中北向资金当日净流入列,使用筛选功能,如要求大于10亿的事件出现次数(表中单位为百万),则输入1000。


23筛选条件.png

筛选条件


筛选后如下图计数所示该事件出现655次,扣除表头后则为654次。

同理可得北向资金单日净流入各事件出现次数。

24计数.png

再次筛选各事件对应的次日/未来3日/未来5日的上涨次数,即涨跌幅大于0的次数。


继而用上涨次数/出现次数得到上涨概率。

最后针对未来N日表现列求平均值即可计算出对应的平均涨跌幅。

完成上述所有步骤后即可求出前文的统计图。

25北向资金统计.png


通过Excel处理数据其实并不麻烦,但思路却至关重要。写代码时你就会发现编程思路和手工操作Excel的思路完全一致。


26表情包.png


04

代码详解


到此我们正式进入代码逐行讲解环节,有了上面的铺垫,零基础也可以轻松听懂。


如果有朋友连Python都不会安装,可以看我这期文章。

收藏|最最最最简单、最最最最详细的Python和Pandas安装教程

这个教程经过千锤百炼,可以帮你避免很多不必要的坑。可以
加我微信xbx719,我将这篇文章及相应的安装包发给你。

按照文章流程安装好Python后,打开Anaconda程序中的Spyder。

27spyder界面.png

Spyder界面


接下来就是真枪实弹的操作部分了。


先用read_csv函数读取原始数据,并将数据时间段定在2014年11月17日以后,代码如下:


28读取数据代码.png

读取数据代码


接着用sum函数将代表沪/深股通数据的当日成交净买额h和当日成交净买额s相加得到北向资金净流入


29计算净流入.png

计算净流入


之后用Excel讲解中提到的公式计算出N日涨跌幅数据,只要会简单的数学运算即可。


30N天涨跌幅.png

N日涨跌幅



最后写出筛选数据的代码,计算北向资金单日净流入各事件出现次数以及未来几日上涨次数上涨概率平均涨跌幅等信息。


31代码.png

完整代码运行结果如下:


32运行结果.png

05

后记

我强烈建议你看完文章、视频后亲自写一下代码加深感受。这样才能对整个流程有更直观的认识。

本文相关代码和数据都可以
加我微信xbx719获取。


以上就是本次代码讲解的大致内容。碍于篇幅还有许多细节无法一一展开。更详细的内容推荐你去看本文的相关视频:

点击观看视频

微信图片_20210906152316.jpg

33微信号.png





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 量化投资 零基础 eastmoney Python编程 股票 量化交易 投资 北向资金 Python

不管去哪里 只要在路上
沙发
三重虫 发表于 2021-9-30 19:26:47 |只看作者 |坛友微信交流群

使用道具

藤椅
piiroja 发表于 2021-10-1 11:05:37 |只看作者 |坛友微信交流群
thx for sharing~

使用道具

板凳
jiangboncu2021 发表于 2021-10-19 21:54:07 来自手机 |只看作者 |坛友微信交流群
邢不行 发表于 2021-9-29 10:50
接上文

02量化数据获取在编写代码前我们首先要知道如何获取北向资金数据。
谢谢分享

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-5 18:51