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正则表达式匹配ip地址实例
Oct 09 Python
浅谈Python的文件类型
May 30 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
Jul 04 Python
python将文本分每两行一组并保存到文件
Mar 19 Python
解决python3 json数据包含中文的读写问题
May 10 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
Jul 04 Python
python 动态调用函数实例解析
Oct 21 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
Oct 30 Python
pandas创建DataFrame的7种方法小结
Jun 14 Python
python super()函数的基本使用
Sep 10 Python
python中remove函数的踩坑记录
Jan 04 Python
python状态机transitions库详解
Jun 02 Python
python爬取网页版QQ空间,生成各类图表
Python爬虫实战之爬取携程评论
Pytorch DataLoader shuffle验证方式
python 爬取吉首大学网站成绩单
python 批量压缩图片的脚本
Jun 02 #Python
python操作xlsx格式文件并读取
关于Numpy之repeat、tile的用法总结
Jun 02 #Python
You might like
德劲1103二次变频版的打磨
2021/03/02 无线电
比较全的PHP 会话(session 时间设定)使用入门代码
2008/06/05 PHP
PHP HTML代码串截取代码
2008/12/29 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
window.name代替cookie的实现代码
2010/11/28 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
关于javaScript注册click事件传递参数的不成功问题
2014/07/18 Javascript
jQuery实现的导航条切换可显示隐藏
2014/10/22 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
2016/01/04 Javascript
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
python中dir()与__dict__属性的区别浅析
2018/12/10 Python
python实现连续图文识别
2018/12/18 Python
简单了解python的break、continue、pass
2019/07/08 Python
Django的Modelforms用法简介
2019/07/27 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
python实现翻译word表格小程序
2020/02/27 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
员工试用期考核自我鉴定
2014/04/13 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书