python获取基金数据求基金30天移动平均线
单个基金
import tushare as ts
import xlrd#读取数据
import pandas as pd
ts.set_token('xxxxxxxxxxxxxx')
pro = ts.pro_api()
path="C://Users//fuxingyu//Desktop//基金.xlsx"
path2="C://Users//fuxingyu//Desktop//分析结果.xlsx"
df = pro.fund_nav(ts_code='001632.OF')
df.to_excel(path)
book=xlrd.open_workbook("C://Users//fuxingyu//Desktop//基金.xlsx")
sheet=book.sheet_by_index(0)
row1_value=sheet.row_values(rowx=0)#第一行的值
bianhao=sheet.col_values(colx=0,start_rowx=1)#第一列的值
end_date=sheet.col_values(colx=3,start_rowx=1)#第四列的值
unit_nav=sheet.col_values(colx=4,start_rowx=1)#基金净值
end_date.reverse()#逆转
unit_nav.reverse()
data = pd.DataFrame(unit_nav,index=end_date,columns=['test'])
#data['mean30'] = data.test.rolling(30).mean()
data['0.97mean30'] = (data.test.rolling(30).mean())*0.97#30天移动平均线值的0.97
data.to_excel(path2)
data.plot()#30天移动平均线画图
#plt.show()
book2=xlrd.open_workbook("C://Users//fuxingyu//Desktop//分析结果.xlsx")
sheet2=book2.sheet_by_index(0)
a=len(sheet2.col_values(colx=0,start_rowx=0))#a得到excel有几行
f=sheet2.col_values(colx=2,start_rowx=a-1)[0]#第2列,最后一行,输出数字
print('%.4f' % f)
多个基金
import tushare as ts
import xlrd#读取数据
import pandas as pd
import os
import matplotlib.pyplot as plt
ts.set_token('9bbe863d738fc3a71959dc0a753d6f49fb07bfcb360f49a9097d9d92')
pro = ts.pro_api()
JJs=['007491.OF','002974.OF','002385.OF','001632.OF']
dataAll=[]
for JJ in JJs:
path = "C://Users//fuxingyu//Desktop//基金//%s.xlsx"%(JJ)
path2 = "C://Users//fuxingyu//Desktop//基金//%s分析结果.xlsx"%(JJ)
df = pro.fund_nav(ts_code=JJ)
df.to_excel(path)
book=xlrd.open_workbook(path)
sheet=book.sheet_by_index(0)
row1_value=sheet.row_values(rowx=0)#第一行的值
bianhao=sheet.col_values(colx=0,start_rowx=1)#第一列的值
end_date=sheet.col_values(colx=3,start_rowx=1)#第四列的值
unit_nav=sheet.col_values(colx=4,start_rowx=1)#基金净值
end_date.reverse()#逆转
unit_nav.reverse()
data = pd.DataFrame(unit_nav,index=end_date,columns=['test'])
data['0.97mean30'] = (data.test.rolling(30).mean())*0.97#30天移动平均线值的0.97
data.to_excel(path2)
data.plot(title=JJ)#30天移动平均线画图
#plt.show()
book2=xlrd.open_workbook(path2)
sheet2=book2.sheet_by_index(0)
a=len(sheet2.col_values(colx=0,start_rowx=0))#a得到excel有几行
last_column=sheet2.col_values(colx=2,start_rowx=a-1)[0]#第2列,最后一行,输出数字
result=JJ+":"+'%.4f' % last_column
dataAll.append(result)
dataAll='\n'.join(str(i1)for i1 in dataAll)
print(dataAll)
个人编程学习
python,matlab,VB
推荐阅读
获取某网页基金净值
{代码...}
叫我瞄大人阅读 1.2k
滚蛋吧,正则表达式!
你是不是也有这样的操作,比如你需要使用「电子邮箱正则表达式」,首先想到的就是直接百度上搜索一个,然后采用 CV 大法神奇地接入到你的代码中?
良许赞 4阅读 2.3k
又一款眼前一亮的Linux终端工具!
今天给大家介绍一款最近发现的功能十分强大,颜值非常高的一款终端工具。这个神器我是在其他公众号文章上看到的,但他们都没把它的强大之处介绍明白,所以我自己体验一波后,再向大家分享自己的体验。
良许赞 5阅读 1.8k
FastAPI性能碾压Flask?
不止一次的听过,FastAPI性能碾压Flask,直追Golang,不过一直没有测试过,今天闲着没事测试一下看看结果。不知道是哪里出了问题,结果大跌眼镜。
二毛erma0赞 2阅读 10.2k评论 3
Python之如何优雅的重试
为了避免偶尔的网络连接失败,需要加上重试机制,那么最简单的形式就是在对应的代码片段加一个循环,循环体里使用异常捕获,连接成功时退出循环,否则就重复执行相关逻辑,此时修改之后的函数f如下
Harpsichord1207赞 3阅读 7.3k
Linux终端居然也可以做文件浏览器?
大家好,我是良许。在抖音上做直播已经整整 5 个月了,我很自豪我一路坚持到了现在【笑脸】最近我在做直播的时候,也开始学习鱼皮大佬,直播写代码。当然我不懂 Java 后端,因此就写写自己擅长的 Shell 脚本。但...
良许赞 1阅读 2.1k
基于 EKS Fargate 搭建微服务性能分析系统
近期 Amazon Fargate 在中国区正式落地,因 Fargate 使用 Serverless 架构,更加适合对性能要求不敏感的服务使用,Pyroscope 是一款基于 Golang 开发的应用程序性能分析工具,Pyroscope 的服务端为无状态服务且性...
亚马逊云开发者阅读 7.8k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。