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代码检查工具pylint 让你的python更规范
Sep 05 Python
Python解决鸡兔同笼问题的方法
Dec 20 Python
python实现的二叉树定义与遍历算法实例
Jun 30 Python
Python 生成 -1~1 之间的随机数矩阵方法
Aug 04 Python
Python tkinter label 更新方法
Oct 11 Python
Django中提示消息messages的设置方式
Nov 15 Python
Python中的四种交换数值的方法解析
Nov 18 Python
通过实例学习Python Excel操作
Jan 06 Python
MNIST数据集转化为二维图片的实现示例
Jan 10 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
Feb 20 Python
68行Python代码实现带难度升级的贪吃蛇
Jan 18 Python
python爬取网页版QQ空间,生成各类图表
Python爬虫实战之爬取携程评论
Pytorch DataLoader shuffle验证方式
python 爬取吉首大学网站成绩单
python 批量压缩图片的脚本
Jun 02 #Python
python操作xlsx格式文件并读取
关于Numpy之repeat、tile的用法总结
Jun 02 #Python
You might like
国产动画《伍六七》原声大碟大卖,啊哈娱乐引领音乐赋能IP的新尝试
2020/03/08 国漫
php面向对象全攻略 (七) 继承性
2009/09/30 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
2016/10/26 PHP
PHP用户验证和标签推荐的简单使用
2016/10/31 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
javascript制作幻灯片(360度全景图片)
2015/07/28 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
解决Window10系统下Node安装报错的问题分析
2016/12/13 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
node中的cookie的具体使用
2018/09/13 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
Python模块学习 datetime介绍
2012/08/27 Python
Python 列表list使用介绍
2014/11/30 Python
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
Python中的两个内置模块介绍
2015/04/05 Python
pygame学习笔记(2):画点的三种方法和动画实例
2015/04/15 Python
python实现多人聊天室
2020/03/31 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
PyTorch 中的傅里叶卷积实现示例
2020/12/11 Python
实习生自我鉴定
2013/12/12 职场文书
毕业生的自我评价范文
2013/12/31 职场文书
村干部培训班主持词
2014/03/28 职场文书
学习保证书100字
2015/02/26 职场文书
2015年销售助理工作总结
2015/05/11 职场文书
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL
MySQL中order by的执行过程
2022/06/05 MySQL
关于Redis的主从复制及哨兵问题
2022/06/16 Redis