今年,我只赚了一点点

2022年12月10日18:46:34 4 3,818 °C
摘要

量化交易走起~

大家好,我是 Jack。

之前一直有小伙伴问我,有没有免费的股票信息查询的 API 接口?

我看了一圈,很多免费的 API 接口都年久失修,失效了。

那好吧,咱自己写一个。

想要玩量化交易,第一步,那得有稳定的股票数据来源。

然后再谈什么量化策略,怎么选股、何时买股。

怎么稳定、免费地获取数据呢?

只能是抄起我的老本行,写个网络爬虫,自动抓取数据。

玩股票、玩基金的,应该多多少少听过一款股票交流 APP 雪球。

今年,我只赚了一点点

这里面的数据很全,就它了!

前方提醒:使用网络爬虫,请控制好访问频率。

在雪球上,想要获得各种股票信息,那需要携带身份信息,也就是要有 Cookie。

没有 Cookie,很多信息是获取不到的。

2017 年的时候,我就写过关于 Cookie 的文章。

今年,我只赚了一点点

一些基础知识忘记的小伙伴,可以重温下我这个系列的文章。

公众号后台-回忆录-网络爬虫:

今年,我只赚了一点点

想要获取 Cookie,那就需要进行模拟登录。

模拟登录 - 准备篇

模拟登录,顾名思义,就是模拟人类的行为,登录这个网站。

登录之后,我们就可以用保存身份信息的 Cookie,获取我们想要的各种数据:股票信息、基金信息等。

我们先手动登录,体验一下整个登录流程。

手动登录

第一步:点击登录按钮。

今年,我只赚了一点点

第二步:输入帐号和密码,并点击登录。

今年,我只赚了一点点

第三步:解锁滑块。

今年,我只赚了一点点

第四步:登录成功。

今年,我只赚了一点点

模拟登录

接下来,就是需要写个代码,让代码替我们完成上述操作。

这里我使用 Selenium,它是一款自动化测试工具。

不过说实话,Selenium 这东西挺老了。

现在有不少更好的工具,不过对于模拟登录的知识储备,我还停留在 2017 年,也只会用它了。

有更好更好的方法的话,欢迎小伙伴们提交 PR。

不过,好在 Selenium 虽然老了点,但还能勉强胜任获取 Cookie 这项工作的。

Selenium 不会的小伙伴,可以看我从前的教程:

https://jackcui.blog.csdn.net/article/details/72331737

想要使用 Selenium,首先需要下载浏览器驱动,这里以 Chrome 浏览器为例。

打开 Chrome 浏览器,查看 Chrome 版本号。

今年,我只赚了一点点

然后根据这个版本号,下载相同大版本的驱动。

http://chromedriver.storage.googleapis.com/index.html

今年,我只赚了一点点

根据自己的操作系统,选择对应的版本。

今年,我只赚了一点点

我的是 Windows 电脑,选择 Win32 的版本。

下载好后,解压备用。

最后安装 Selenium 第三方依赖库。

注意,需要安装 3.4 的版本,Selenium 的新版本改动较多,用我的代码会存在接口不兼容的情况。

模拟登录 - 实战篇

我们先睹为快,看下让代码自动登录雪球的效果:

(PS:录屏时间 12.2,由于大家都知道的原因,页面为黑白)

其实模拟登录的思路很简单,就是根据审查元素,找到各个元素的位置。

比如登录按钮,右键审查元素,然后选择 Copy Xpath。

今年,我只赚了一点点

就能拷贝路径地址。

使用这种方法,找到帐号输入框、密码输入框的位置,然后点击登录即可。

这里的难点在于验证码。

不过好在,GEETEST 验证码的破解,我还是有些经验的,17 年的时候,我也写过。

今年,我只赚了一点点

很多代码,直接复用即可。

整体思路就是:

  • 使用Selenium打开页面。
  • 匹配到输入框,输入账号密码,点击登录。
  • 读取验证码图片,并做缺口识别。
  • 根据缺口位置,计算滑动距离。
  • 根据滑动距离,拖拽滑块到需要匹配的位置。

直接放代码:

代码我也上传到 Github 上了,代码的后续更新维护会放在这里,建议 Star 收藏下。

https://github.com/Jack-Cherish/quantitative

数据获取

等待模拟登录完成后,会保存一个名为 xueqiu_cookies 的文件。

今年,我只赚了一点点

这里保存的是帐号的 Cookie,使用这个 Cookie 就能获取雪球的数据了。

比如,获取一下股票实时行情和现金流量表,就可以这样写:

运行结果:

今年,我只赚了一点点

有了 Cookie,很多接口数据都能获取,实时行情、实时分笔、业绩预告、机构评级、资金流向趋势、资金流向历史、资金成交分布、大宗交易、融资融券、业绩指标、利润表、资产负债表、现金流量表、主营业务构成、F10 十大股东、F10 主要指标等等。

这些数据,都能获取。

絮叨

篇幅有限,今天就是带大家小小实战下。

后续我会完善各个常用查询接口,方便大家获取各类数据,用于量化分析。

万事开头难,先弄好数据,再看量化策略~

如果喜欢这类的内容,记得点赞,喜欢的人多的话,我会快速加更的~

最后必须提醒一下各位:

获取数据,请温柔,请勿高并发获取,且用且珍惜。

对了,还有不少小伙伴问我,我的量化策略收益如何。

去年的五万元实验,最后浮盈不到 10%,清仓之后就换新的策略实验了。

6月份的时候,又用上了新策略,新的策略一直跑到今年 10 月份,实验账户收益:

今年,我只赚了一点点

实验没放多少钱,随便玩玩,你觉得,这点收益如何?

好了,今天就聊这么多吧,我是 Jack,我们下期见~

weinxin
微信公众号
分享技术,乐享生活:微信公众号搜索「JackCui-AI」关注一个在互联网摸爬滚打的潜行者。
Jack Cui

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:4   其中:访客  4   博主  0

    • avatar Liamcoder 来自天朝的朋友 谷歌浏览器 Windows 10 上海市 电信 1

      新的策略从哪里能看到?

      • avatar smile 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省无锡市 电信 0

        你是我偶像

        • avatar mackj 来自天朝的朋友 谷歌浏览器 Windows 10 云南省昆明市 移动 1

          博主终于更新了,不容易啊

          • avatar 6666 来自天朝的朋友 火狐浏览器 Windows 7 河南省三门峡市湖滨区 联通 0

            亲 你的量化工具呢 放出来 我要用