logo科技微讯

基金净值检测

作者:科技微讯
日期:2022-02-09
📝 笔记

我希望通知中心增加:

  • 输入基金名称或代码,搜索并订阅这个基金,每天收市时发布该基金的净值及涨跌幅;
  • 增加若干固定订阅选项:所有基金当天涨跌幅最大的基金、各行业涨跌幅最大的基金等等。

数据来源:天天基金。

找到一个 GitHub 项目,可以用下面这个 api 获取一个基金某一天的涨跌幅:

const cheerio = require("cheerio");
const got = require("got");
const HtmlTableToJson = require("html-table-to-json");

const code = "377240";
const startDate = "2022-02-08";
const endDate = "2022-02-09";
const perPage = "10";
const api = `https://fundf10.eastmoney.com/F10DataApi.aspx?type=lsjz&code=${code}&page=1&per=${perPage}&sdate=${startDate}&edate=${endDate}`;
const html = await got(api).text();
const $ = cheerio.load(html);
const tableHtml = $("table").html();
const tableJSON = HtmlTableToJson.parse("<table>" + tableHtml + "</table>")
  .results[0];
console.log(tableJSON);

返回下面的信息:

[
  {
    "净值日期": "2022-02-09",
    "单位净值": "6.5806",
    "累计净值": "6.5806",
    "日增长率": "1.33%",
    "申购状态": "开放申购",
    "赎回状态": "开放赎回",
    "分红送配": ""
  },
  {
    "净值日期": "2022-02-08",
    "单位净值": "6.4944",
    "累计净值": "6.4944",
    "日增长率": "-2.12%",
    "申购状态": "开放申购",
    "赎回状态": "开放赎回",
    "分红送配": ""
  }
]

检测方法打算是:每天上午、晚上两个时间段每 20 分钟运行一次,获得最新的数据,然后和数据库进行比较,主要是比较日期,如果数据库没有,就发送。

之所以集中在上午、晚上运行,是因为当天的净值最快在当天晚上更新披露(海外基金最快下一交易日晚上披露),各个基金公布净值的时间也不一样,国内的基金通常在晚上八九点在基金公司的官网公布净值,一些基金代销平台可能还会再迟一点,甚至第二天才会公布。

QDII 基金基本是海外基金,其中香港基金因为和大陆没有时差,基本和国内基金差不多的公布时间,而其他 QDII 基本是迟一天。

donation赞赏
thumbsup0
thumbsdown0
暂无评论