项目地址:
https://github.com/guodongggg/fund
1) 启动方法
(非必须)修改new.csv,参照test.csv,首行为基金代码,其次为每支基金在指定日期内的操作,正值为买入金额,负值为赎回份额。具体项目参照x_alpha项目
修改code_list.json文件的prodect为你自己的基金代码,修改count为每支基金的金额,执行同级目录下的update_code_list.py,自动更新持仓百分比
执行python run.py
ps:初始化比较麻烦,我也暂时没优化,后面再说吧
2) web查看方法
打开浏览器,访问本地地址:http://127.0.0.1:8090
在线示例:http://106.12.49.205
3) 功能说明:
- 大盘指数实时情况查看
- 单支基金实时、近一周、近一月、近三月的涨跌情况
- 总持仓实际涨幅、预估涨幅
- 持仓成本图、饼状图、收益详情图(需修改new.csv)
- 线性回归图例
- 外链天天基金页面
- 外链头条大V号
- 外链微博大V号
- 外链比特币
- 外链薅羊毛页面
4) 展示:
代码
涉及代码过多,不便全部放出,请自行下载项目查看,放出部分代码,仅供参考。
update_over_json.py 基金代码列表
import average_growth import json import common import choose_api from pathlib import Path def over_time(detail, board): \"\"\" 判断当日持仓的所有基金的合计涨幅是否超过沪深300 :param code_list: list 基金代码列表 :return: json文件,格式如下,HS300涨幅、持仓合计涨幅、持仓涨幅是否超过沪深300 { \"2020-12-31\": { \"HS300\": \"1.91\", \"my_position\": \"1.35\", \"over_take\": false }, \"2021-01-04\": { \"HS300\": \"1.08\", \"my_position\": \"1.33\", \"over_take\": true } } ...... \"\"\" # 获取日期 try: date = detail[0][\'netWorthDate\'] except: date = detail[1][\'netWorthDate\'] hs300 = \'\' for i in board: if i[\'name\'] == \'沪深300\': hs300 = i[\'changePercent\'] # 判断文件是否存在,不存在则创建 json_file_name = \'file/bj.json\' file = Path(json_file_name) file.touch(exist_ok=True) # 此时更新的准确净值涨幅的平均值 avg = average_growth.average_growth(detail)[\'average_dayGrowth\'] print(\'hs300:\', hs300) print(\'avg:\', avg) # 写入文件 with open(\"file/bj.json\", \'r+\') as f: try: data = json.load(f) f.seek(0, 0) f.truncate() except Exception as e: print(e) data = {} finally: print(f\'获取数据: {data}\') data[date] = { \'HS300\': hs300, \'my_position\': str(avg), \'over_take\': True if float(avg) > float(hs300) else False } print(f\'更新数据: {date}:{data[date]}\') f.write(json.dumps(data, sort_keys=True, indent=4, separators=(\',\', \': \'))) print(f\'{json_file_name} 已更新!\') if __name__ == \'__main__\': code_list = common.get_codelist(\'product\') data = choose_api.choose_api(code_list) detail = data[\'detail\'] board = data[\'board\'] over_time(detail, board)
nasdaq.py sina财经数据爬虫
import requests def nasdaq(): \"\"\" 爬取sina财经nasdaq基础数据 :return: 构建的标准返回格式,只包含当日的数据,无历史数据 \"\"\" url = \"http://hq.sinajs.cn/?rn=1609213839262&list=gb_$ndx\" r = requests.get(url) response = r.text if r.status_code == 200: data = response.split(\'=\')[1].split(\',\') nasdaq_data = {\'name\': data[0].strip(\'\"\'), \'code\': \'040046\', \'price\': data[1], \'priceChange\': data[4], \'expectGrowth\': data[2], \'dayGrowth\': data[2], \'lastWeekGrowth\': \'-\', \'lastMonthGrowth\': \'-\', \'lastThreeMonthsGrowth\': \'-\', \'date\': \'\'} return nasdaq_data else: print(f\'nasdaq return error: \\n {response}\') if __name__ == \'__main__\': nasdaq_data = nasdaq() for k, v in nasdaq_data.items(): print(f\'{k}: {v}\')
以上就是python flask开发的简单基金查询工具的详细内容,更多关于python 基金查询工具的资料请关注自学编程网其它相关文章!