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

2021-07-31 0 465

项目地址:

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) 展示:

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

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

代码

涉及代码过多,不便全部放出,请自行下载项目查看,放出部分代码,仅供参考。

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 基金查询工具的资料请关注自学编程网其它相关文章!

遇见资源网 Python python flask开发的简单基金查询工具 http://www.ox520.com/29002.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务