新闻动态

python flask开发的简单基金查询工具

发布日期:2022-03-26 13:09 | 文章来源:源码之家

项目地址:

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 基金查询工具的资料请关注本站其它相关文章!

香港服务器租用

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部
请您留言

YINGSOO400-630-3752

提交