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批量修改文件名的实现代码
Sep 01 Python
低版本中Python除法运算小技巧
Apr 05 Python
Python实现八大排序算法
Aug 13 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
Feb 01 Python
Tesserocr库的正确安装方式
Oct 19 Python
Python学习笔记之集合的概念和简单使用示例
Aug 22 Python
pytorch中使用cuda扩展的实现示例
Feb 12 Python
python中watchdog文件监控与检测上传功能
Oct 30 Python
python pillow库的基础使用教程
Jan 13 Python
Python生成九宫格图片的示例代码
Apr 14 Python
Python基础之数据结构详解
Apr 28 Python
python 如何执行控制台命令与操作剪切板
May 20 Python
python爬取网页版QQ空间,生成各类图表
Python爬虫实战之爬取携程评论
Pytorch DataLoader shuffle验证方式
python 爬取吉首大学网站成绩单
python 批量压缩图片的脚本
Jun 02 #Python
python操作xlsx格式文件并读取
关于Numpy之repeat、tile的用法总结
Jun 02 #Python
You might like
新手学PHP之数据库操作详解及乱码解决!
2007/01/02 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
Laravel框架数据库迁移操作实例详解
2020/04/06 PHP
jquery提示 "object expected"的解决方法
2009/12/13 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
在Javascript中 声明时用"var"与不用"var"的区别
2013/04/15 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
2017/07/11 Javascript
JavaScript创建对象的七种方式全面总结
2017/08/21 Javascript
详解JS取出两个数组中的不同或相同元素
2019/03/20 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
JS原型对象操作实例分析
2020/06/06 Javascript
详解vue中使用transition和animation的实例代码
2020/12/12 Vue.js
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
财产公证书格式
2014/04/10 职场文书
村容村貌整治方案
2014/05/21 职场文书
工程索赔意向书
2014/08/30 职场文书
2014年学校体育工作总结
2014/12/08 职场文书
银行给客户的感谢信
2015/01/23 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
代码复现python目标检测yolo3详解预测
2022/05/06 Python
vue3不同环境下实现配置代理
2022/05/25 Vue.js