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 相关文章推荐
Django中模版的子目录与include标签的使用方法
Jul 16 Python
python实现unicode转中文及转换默认编码的方法
Apr 29 Python
深入浅出分析Python装饰器用法
Jul 28 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
python得到windows自启动列表的方法
Oct 14 Python
python 实现对文件夹中的图像连续重命名方法
Oct 25 Python
Python+opencv 实现图片文字的分割的方法示例
Jul 04 Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 Python
jupyter notebook 添加kernel permission denied的操作
Apr 21 Python
什么是Python中的匿名函数
Jun 02 Python
python plt.plot bar 如何设置绘图尺寸大小
Jun 01 Python
Python语言内置数据类型
Feb 24 Python
python爬取网页版QQ空间,生成各类图表
Python爬虫实战之爬取携程评论
Pytorch DataLoader shuffle验证方式
python 爬取吉首大学网站成绩单
python 批量压缩图片的脚本
Jun 02 #Python
python操作xlsx格式文件并读取
关于Numpy之repeat、tile的用法总结
Jun 02 #Python
You might like
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
2015/01/09 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
Using the TextRange Object
2006/10/14 Javascript
用函数式编程技术编写优美的 JavaScript
2006/11/25 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
JavaScript队列函数和异步执行详解
2017/06/19 Javascript
打造通用的匀速运动框架(实例讲解)
2017/10/17 Javascript
探讨Vue.js的组件和模板
2017/10/27 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
2018/02/24 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
VUE注册全局组件和局部组件过程解析
2019/10/10 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
python strip()函数 介绍
2013/05/24 Python
Python Matplotlib库入门指南
2015/05/18 Python
Python中的descriptor描述器简明使用指南
2016/06/02 Python
Python中如何获取类属性的列表
2016/12/26 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
Python爬虫教程知识点总结
2020/10/19 Python
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
什么是Assembly(程序集)
2014/09/14 面试题
成人毕业生自我鉴定
2013/10/18 职场文书
音乐专业应届生教师求职信
2013/11/04 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书