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实现处理管道的方法
Jun 04 Python
浅谈python中的面向对象和类的基本语法
Jun 13 Python
Python入门_学会创建并调用函数的方法
May 16 Python
Python实现二维数组输出为图片
Apr 03 Python
Numpy数组转置的两种实现方法
Apr 17 Python
Python requests发送post请求的一些疑点
May 20 Python
Python3.7实现中控考勤机自动连接
Aug 28 Python
Python对Tornado请求与响应的数据处理
Feb 12 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
Feb 26 Python
Django框架models使用group by详解
Mar 11 Python
在django admin详情表单显示中添加自定义控件的实现
Mar 11 Python
Python OpenCV实现测量图片物体宽度
May 27 Python
python爬取网页版QQ空间,生成各类图表
Python爬虫实战之爬取携程评论
Pytorch DataLoader shuffle验证方式
python 爬取吉首大学网站成绩单
python 批量压缩图片的脚本
Jun 02 #Python
python操作xlsx格式文件并读取
关于Numpy之repeat、tile的用法总结
Jun 02 #Python
You might like
PHP简介
2006/10/09 PHP
PHP判断指定时间段的2个方法
2014/03/14 PHP
php mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
php用户密码加密算法分析【Discuz加密算法】
2016/10/12 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
基于jQuery的倒计时实现代码
2012/05/30 Javascript
js判断为空Null与字符串为空简写方法
2014/02/24 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
2016/11/26 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
python3实现windows下同名进程监控
2018/06/21 Python
windows10下安装TensorFlow Object Detection API的步骤
2019/06/13 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
python利用paramiko实现交换机巡检的示例
2020/09/22 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
ebookers英国:隶属全球最大的在线旅游公司Expedia
2017/12/28 全球购物
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
个人先进材料范文
2014/12/30 职场文书
工作失误检讨书
2015/01/26 职场文书
教师工作决心书
2015/02/04 职场文书
大客户经理岗位职责
2015/04/09 职场文书
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技