新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

OKX欧易app

欧易APP下载

注册下载欧易okx交易所,即可领取6万元盲盒奖励,100%中奖!!

APP下载   官网注册

本老汉从去年3月份从成都天府五街天府软件园的程序开发岗后退下来,一直靠送外卖维持生计。不少头条朋友私信我想跟我学编程,老汉都谢绝了,原因是自己肚子里就这点货,怕耽误了大家,误人子弟。

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

还有些朋友对编程一无所知,不知道计算机代码可以帮助我们做哪些事情。本老汉今天就来举一个例子,用计算机代码获取指定基金的历史数据。

再次声明,本老汉编程水平很烂,所以才被公司优化,被迫送外卖为生。因此如果以前的程序员同行刷到了这篇文章,请不要对我蹩脚的代码大惊小怪。如果我和你们的水平一样,那多半现在仍然继续在成都天府五街天府软件园做开发,而不是现在这样送外卖,收破烂为生。

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

需求分析

我们在天天基金网等网站,可以输入基金代码,查看基金历史数据:

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

假设我想用代码获得的就是每只基金过去一段时间每天的涨跌幅和净值:

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

该从哪里分析入手呢?我们用编程的方式实现需求,无非就是想通过代码来帮助我们完成本来需要人工操作才能完成的动作。那么首先就要明确,当我们人工操作的时候,背后发生了什么事情?

我们使用 Chrome 浏览器随便打开一个基金的历史数据页面,然后使用快捷键 F12 开启 Chrome 的开发者工具。切换到 network 选项卡。我们在页面点击 2 进行翻页,查看这个基金下一页的历史数据。可以预见到,点击这个按钮后,网页会从后台服务器发起数据请求,以渲染并显示下一页的页面。

如何找到读取基金历史数据的 API endpoint?

我们使用 Chrome 开发者工具的目的,就是观察出网页发送往后台服务器的 API 请求的 url,然后编写代码,调用这个 url,就能在我们的代码里获取到同样的数据了。

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

每当浏览器里有 API 请求通过 HTTP 发送到后台服务器时,这些请求都能在 Chrome 开发者工具 network 标签页里被观察到。我们点击 2 页面时,网页端需要从后台服务器请求第二页的数据,这个请求的 url 在 network 里显示得很清楚了:

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

我们把这个 url 复制下来:

http://api.fund.eastmoney.com/f10/lsjz?callback=jQuery18309641173802216549_1669605580528&fundCode=007745&pageIndex=2&pageSize=20&startDate=&endDate=&_=1669607599676

可以分析 url 里面的参数。callback=jQuery18309641173802216549_1669605580528 这一段是用于前端网页渲染的 jQuery 回调信息,而我们的目的是编写代码直接调用 API,而不考虑前端渲染,因此可以忽略这个参数。

  • fundCode=007745,这个很清楚,fundCode 意思是基金代码,等号后面就是基金的6 位代码。
  • pageIndex=2,意思是告诉服务器,我要读取第二页数据。
  • pageSize=20,分页大小,意思是每一页即每一次 API 请求,返回基金 20 天内的历史数据。

这个 url 在我们程序员编程领域,有个专门术语叫做 API endpoint.

把 url 粘贴到浏览器地址栏里,回车,可以看到下面的输出:

https://fundf10.eastmoney.com/F10DataApi.aspx?type=lsjz&code=007745&page=1&edate=2099-02-17

其中红线描绘出的矩形框里就是 API 在服务器端执行并返回给浏览器的数据,也正是我们期望写代码获取的内容。

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

而 records 662 意思就是这个基金总共有 662 天的历史数据,总共分成 67 页显示,每页默认显示10条数据。

如何创建基金历史数据的抽象模型?

现在我们可以开始编写代码了。所谓编程,第一步就是用代码创建模型来描述现实生活中的业务实体。

比如一只基金,每天显示在网站上的历史数据,无非就是日期,累计净值,单位净值,当天的涨跌率这 4 个字段,因为我选择了使用 Node.js 来编程,所以首先创建一个 JavaScript 函数,名叫 ValuePerDay. 那么我每次用 new ValuePErtDay 新建一个实例,这个实例就用来描述某基金某一天的详细数据。

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

有了基金数据模型后,接下来我们需要使用代码向后台服务器,基于找到的 url 发起对应的 HTTP 请求,读取基金历史数据。

如何使用代码读取基金历史数据?

因为是 Node.js,本老汉选择了 request 这个工具库。

定义一个名叫 sendRequest 的函数,方便其他模块重用。输入参数为 sRequestUrl 即前文分析的 API endpoint.

我们新建一个 Promise 对象,将发送 API 这个异步操作封装到 Promise 的实体内,使用 request 工具库发送请求,并将 response 通过 Promise 实体内参数 resolve 传递给调用者。

sendRequest 完成实现如下图所示:

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

我们在创建一个名叫 getRawDataWithHTMLFormatPerPage 的函数,这个函数接收两个输入参数,分别是基金历史数据的页码数和基金代码。在函数实现体内,根据前文介绍的逻辑,将传递进来的页面数和基金代码拼凑成完整的 API endpoint,然后将这个拼凑好的 endpoint 即存储在下图 urlForPageRequest 的变量传递到我们之前编写的 sendRequest 模块里。

如何解析通过 API 读取回来的基金历史数据?

基金读取 API 返回的是一个 HTML 格式的字符串,我们感兴趣的基金历史数据就包含在这个 HTML 字符串里,我们需要用代码将其解析出来,将结果存储到一个 JavaScript 数组 aResultPage 里。这个解析逻辑,就实现在下图第 10 行的 parsePerDayDataFromHTMLResponse 里。

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

API response 解析逻辑实现如下。首先代码第 1 行,我导入了 jsdom 工具库,从而让我能够在 Node.js 运行环境里,像浏览器环境里一样访问 document API 来解析 HTML 格式的字符串数据。

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

有了 JSDOM 之后,我在代码第 26 行将 HTML 响应字符串传递到其构造函数内,就可以通过 window.document.body 访问到 DOM 数据结构了,接下来没什么技术含量,找到 td 节点,把里面的基金数据读取出来,通过构造 ValuePerDay 实例对象,将数据存储到 aResultPerPage 输出数组就行了。

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

如何编写测试代码

最后我们来写一段测试代码测试。假设我们想批量读取两只基金的历史数据,那么就在一个 for 循环里,依次调用我们写好的 getRawDataWithHTMLFormatPerPage,这些历史数据包含在 then 指定的回调函数的输入参数 data 里,我们通过 console.log 打印出来,结果如下:

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

本老汉后续文章,会简单介绍,如何把这些打印在控制台的基金历史数据,输出到 HTML 页面里便于分析,感谢大家的阅读。

新手怎么看懂基金涨跌(怎样看懂基金涨跌幅)

免责声明: 文章源于会员发布,不作为任何投资建议

如有侵权请联系我们删除,本文链接:https://www.vrvkongtiao.com/licai/19308.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
币讯财经币讯财经
上一篇 2022年12月11日
下一篇 2022年12月11日

相关推荐

  • 怎样做基金理财(如何做基金投资理财)

    近年来,金融行业进入“监管趋严”时代,行业内风声鹤唳的同时,金融环境也得到了改善。在除旧革新的过程中,各行业也将面临前所未有的挑战。 那么,对于基金行业来讲,2020年取消外资股比限制,是否意味着“狼来了”呢? 王群航:我觉得没有“狼来了”这一说。他们的到来,应该会对整个中国公募基金行业的发展起到一个积极的作用。我们回顾2003年、2004年,那个时候合资基…

    2023年2月24日
    173
  • 今年基金排名(今年基金排名前五)

    21世纪经济报道记者姜诗蔷 北京报道 2月23日晚间,中国证券投资基金业协会发布2021年四季度各项资管业务月均规模数据。 数据显示,2021年四季度,位列全行业前20的基金公司非货币公募基金月均规模合计达到8.5万亿。按照基金业协会数据统计口径,四季度非货币公募基金月均规模为全年12个月规模的算术平均值。 其中,易方达基金以10270.13亿元的非货币公募…

    2023年2月27日
    152
  • 买基金的诀窍和方法是什么呢(买基金有什么诀窍)

    疫情后,大A从3月开始一路走涨。 身边不少投资了医药基金的,这一轮更是赚了个够,可为什么,自己买的基金还是在亏? 对很多小白来说,之所以选择基金,一是没有各位炒股大神那样的经验和技巧,二是投资基金的风险相对小,也更容易上手。 但这不代表投资基金不会亏钱,更不代表基金随便买都可以。 很多小白挑选基金时,都会筛选一下基金规模、评级、成立时间,但是符合条件的基金还…

    2023年2月26日
    158
  • 国家reits基金怎么购买(reits基金怎样买)

    1 上周出了个新闻: 撒花~大家期盼已久的REITs或将要来啦~(≧▽≦)/~ REITs是什么?按照多多的习惯,先请百度来给大家科普一下: 房地产信托投资基金(REITs)是房地产证券化的重要手段。 房地产证券化就是把流动性较低的、非证券形态的房地产投资,直接转化为资本市场上的证券资产的金融交易过程。 REITs由专门机构经营管理,投资对象包括有稳定收益的…

    2023年3月14日
    154
  • 所得税费用计算公式(企业所得税费用计算公式)

    概述 它是企业所得税的计税依据。企业每一纳税年度的收入总额,减除不征税收入、免税收入、各项扣除以及允许弥补的以前年度亏损后的余额,为应纳税所得额。 内容 一、企业实际发生的与取得收入有关的、合理的支出,包括成本、费用、税金、损失和其他支出,准予在计算应纳税所得额时扣除。 二、企业发生的公益性捐赠支出,在年度利润总额12%以内的部分,准予在计算应纳税所得额时扣…

    2023年3月12日
    165

联系我们

dudu818907@gmail.com

在线咨询: QQ交谈

邮件:dudu818907@gmail.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信