我希望通知中心增加:
数据来源:天天基金。
找到一个 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 基本是迟一天。