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的爬虫框架Scrapy的结构与运作流程
Jan 20 Python
python好玩的项目—色情图片识别代码分享
Nov 07 Python
15行Python代码带你轻松理解令牌桶算法
Mar 21 Python
基于python批量处理dat文件及科学计算方法详解
May 08 Python
python字符串string的内置方法实例详解
May 14 Python
解决win64 Python下安装PIL出错问题(图解)
Sep 03 Python
Python中几种属性访问的区别与用法详解
Oct 10 Python
PyQt5实现简易计算器
May 30 Python
关于Python 的简单栅格图像边界提取方法
Jul 05 Python
python中自带的三个装饰器的实现
Nov 08 Python
python shell命令行中import多层目录下的模块操作
Mar 09 Python
Keras之fit_generator与train_on_batch用法
Jun 17 Python
python爬取网页版QQ空间,生成各类图表
Python爬虫实战之爬取携程评论
Pytorch DataLoader shuffle验证方式
python 爬取吉首大学网站成绩单
python 批量压缩图片的脚本
Jun 02 #Python
python操作xlsx格式文件并读取
关于Numpy之repeat、tile的用法总结
Jun 02 #Python
You might like
PHP 单引号与双引号的区别
2009/11/24 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
2011/09/15 PHP
php笔记之:文章中图片处理的使用
2013/04/26 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
laradock环境docker-compose操作详解
2019/07/29 PHP
jQuery html() in Firefox (uses .innerHTML) ignores DOM changes
2010/03/05 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
JavaScript 32位整型无符号操作示例
2013/12/08 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
axios基本入门用法教程
2017/03/25 Javascript
Angualrjs和bootstrap相结合实现数据表格table
2017/03/30 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
2017/08/23 Javascript
[08:53]DOTA2每周TOP10 精彩击杀集锦vol.9
2014/06/26 DOTA
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
python友情链接检查方法
2015/07/08 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
详解Python多线程
2016/11/14 Python
Python输入二维数组方法
2018/04/13 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
Python pandas如何向excel添加数据
2020/05/22 Python
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
银行开业庆典方案
2014/02/06 职场文书
市场部经理岗位职责
2014/04/10 职场文书
金融系毕业生自荐书
2014/07/08 职场文书
会员卡清退活动总结
2014/08/27 职场文书
先进单位申报材料
2014/12/25 职场文书
世界文化遗产导游词
2015/02/13 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
Nginx配置Https安全认证的实现
2021/05/26 Servers
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫