目錄
- 項目地址:
- 1) 啟動方法
- 2) web查看方法
- 3) 功能說明:
- 4) 展示:
- 代碼
項目地址:
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
在線示例:http://106.12.49.205
3) 功能說明:
- 大盤指數實時情況查看
- 單支基金實時、近一周、近一月、近三月的漲跌情況
- 總持倉實際漲幅、預估漲幅
- 持倉成本圖、餅狀圖、收益詳情圖(需修改new.csv)
- 線性回歸圖例
- 外鏈天天基金頁面
- 外鏈頭條大V號
- 外鏈微博大V號
- 外鏈比特幣
- 外鏈薅羊毛頁面
4) 展示:


代碼
涉及代碼過多,不便全部放出,請自行下載項目查看,放出部分代碼,僅供參考。
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=1609213839262list=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多線程+代理池爬取天天基金網、股票數據過程解析
- Python獲取基金網站網頁內容、使用BeautifulSoup庫分析html操作示例
- Python多進程方式抓取基金網站內容的方法分析
- Python學習筆記之抓取某只基金歷史凈值數據實戰案例
- python程序實現BTC(比特幣)挖礦的完整代碼
- Python實現類似比特幣的加密貨幣區塊鏈的創建與交易實例
- python做量化投資系列之比特幣初始配置