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 20 Python
用python结合jieba和wordcloud实现词云效果
Sep 05 Python
Python网络爬虫中的同步与异步示例详解
Feb 03 Python
Python unittest模块用法实例分析
May 25 Python
Python从单元素字典中获取key和value的实例
Dec 31 Python
Python OOP类中的几种函数或方法总结
Feb 22 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
Python使用正则表达式分割字符串的实现方法
Jul 16 Python
使用Pyhton集合set()实现成果查漏的例子
Nov 24 Python
如何打包Python Web项目实现免安装一键启动的方法
May 21 Python
5分钟快速掌握Python定时任务框架的实现
Jan 26 Python
Python抖音快手代码舞(字符舞)的实现方法
Feb 07 Python
python爬取网页版QQ空间,生成各类图表
Python爬虫实战之爬取携程评论
Pytorch DataLoader shuffle验证方式
python 爬取吉首大学网站成绩单
python 批量压缩图片的脚本
Jun 02 #Python
python操作xlsx格式文件并读取
关于Numpy之repeat、tile的用法总结
Jun 02 #Python
You might like
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
jQuery实战之品牌展示列表效果
2011/04/10 Javascript
jQuery.clean使用方法及思路分析
2013/01/07 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
node.js中的buffer.slice方法使用说明
2014/12/10 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
浅析Vue项目中使用keep-Alive步骤
2018/07/27 Javascript
解决vue接口数据赋值给data没有反应的问题
2018/08/27 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
2019/10/31 Javascript
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
2019/06/28 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
2020/03/08 Python
利用Python优雅的登录校园网
2020/10/21 Python
Python中常用的os操作汇总
2020/11/05 Python
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题
工程现场管理求职自荐信
2013/10/02 职场文书
职高毕业生自我鉴定
2013/10/21 职场文书
预备党员入党思想汇报
2014/01/04 职场文书
秋季运动会表扬稿
2014/01/16 职场文书
机械设计及其自动化求职推荐信
2014/02/17 职场文书
一年级班主任感言
2014/03/08 职场文书
战略合作意向书范本
2014/04/01 职场文书
班主任寄语大全
2014/04/04 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
人生遥控器观后感
2015/06/11 职场文书