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

 更新时间:2021年06月01日 17:15:47   作者:guodongggg  
基于python flask开发的简单基金查询工具,支持大盘指数实时情况查看,总持仓实际涨幅、预估涨幅等功能,感兴趣的朋友可以下载该项目来查看使用

项目地址:

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

相关文章

  • 详解如何修改python中字典的键和值

    详解如何修改python中字典的键和值

    这篇文章主要介绍了详解如何修改python中字典的键和值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 详解python内置模块urllib

    详解python内置模块urllib

    这篇文章主要介绍了python内置模块urllib的相关资料,帮助大家更好的理解和使用python 内置模块,感兴趣的朋友可以了解下
    2020-09-09
  • python实现读Excel写入.txt的方法

    python实现读Excel写入.txt的方法

    下面小编就为大家分享一篇python实现读Excel写入.txt的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • opencv 傅里叶变换的实现

    opencv 傅里叶变换的实现

    本文主要介绍了opencv 傅里叶变换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2022-06-06
  • python实现自动化之文件合并

    python实现自动化之文件合并

    这篇文章主要为大家详细介绍了python实现自动化文件合并,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Python中使用Chaco绘图库

    Python中使用Chaco绘图库

    这篇文章主要介绍了Python中使用Chaco绘图库,Chaco是一个2D的绘图库,如果你安装了Python(x,y)的话,可以在pythonxy的安装目录下的找到Chaco的demo程序,Chaco提供了类似Matlab和pylab的绘图方式,我们称之为面向脚本的绘图方式
    2023-11-11
  • PyQt5 在label显示的图片中绘制矩形的方法

    PyQt5 在label显示的图片中绘制矩形的方法

    今天小编就为大家分享一篇PyQt5 在label显示的图片中绘制矩形的方法,具有很好的参考价值。希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python使用Faker进行随机数据生成

    python使用Faker进行随机数据生成

    大家好,本篇文章主要讲的是python使用Faker进行随机数据生成,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • python中实现控制小数点位数的方法

    python中实现控制小数点位数的方法

    今天小编就为大家分享一篇python中实现控制小数点位数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python3以GitHub为例来实现模拟登录和爬取的实例讲解

    Python3以GitHub为例来实现模拟登录和爬取的实例讲解

    在本篇内容里小编给大家分享的是关于Python3以GitHub为例来实现模拟登录和爬取的实例讲解,需要的朋友们可以参考下。
    2020-07-07

最新评论