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


Posted in Python onJune 02, 2021

项目地址:

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

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 zip文件 压缩
Dec 24 Python
Python中使用异常处理来判断运行的操作系统平台方法
Jan 22 Python
Python实现遍历windows所有窗口并输出窗口标题的方法
Mar 13 Python
Python的Flask框架中@app.route的用法教程
Mar 31 Python
Python聊天室实例程序分享
Jan 05 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
Apr 18 Python
django 发送手机验证码的示例代码
Apr 25 Python
opencv与numpy的图像基本操作
Mar 08 Python
Python3转换html到pdf的不同解决方案
Mar 11 Python
详解python中的index函数用法
Aug 06 Python
Django实现文件上传下载功能
Oct 06 Python
python爬取网页版QQ空间,生成各类图表
Python爬虫实战之爬取携程评论
Pytorch DataLoader shuffle验证方式
python 爬取吉首大学网站成绩单
python 批量压缩图片的脚本
Jun 02 #Python
python操作xlsx格式文件并读取
关于Numpy之repeat、tile的用法总结
Jun 02 #Python
You might like
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
解析PHP缓存函数的使用说明
2013/05/10 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
基于laravel-admin 后台 列表标签背景的使用方法
2019/10/03 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
Jquery.addClass始终无效原因分析
2013/09/08 Javascript
jQuery拖动div、移动div、弹出层实现原理及示例
2014/04/08 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
layui 监听表格复选框选中值的方法
2018/08/15 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
2018/11/10 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
python里使用正则的findall函数的实例详解
2017/10/19 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
CSS3制作皮卡丘动画壁纸的示例
2020/11/02 HTML / CSS
应届毕业生就业自荐信
2013/10/26 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
丑小鸭教学反思
2014/02/03 职场文书
万年牢教学反思
2014/02/15 职场文书
桥梁工程专业求职信
2014/04/21 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
分析SQL窗口函数之聚合窗口函数
2022/04/21 Oracle