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

喜欢追星的非科班的编程爱好者

467 声望
79 粉丝
0 条评论
推荐阅读
获取某网页基金净值
{代码...}

叫我瞄大人阅读 1.2k

滚蛋吧,正则表达式!
你是不是也有这样的操作,比如你需要使用「电子邮箱正则表达式」,首先想到的就是直接百度上搜索一个,然后采用 CV 大法神奇地接入到你的代码中?

良许4阅读 2.3k

又一款眼前一亮的Linux终端工具!
今天给大家介绍一款最近发现的功能十分强大,颜值非常高的一款终端工具。这个神器我是在其他公众号文章上看到的,但他们都没把它的强大之处介绍明白,所以我自己体验一波后,再向大家分享自己的体验。

良许5阅读 1.8k

FastAPI性能碾压Flask?
不止一次的听过,FastAPI性能碾压Flask,直追Golang,不过一直没有测试过,今天闲着没事测试一下看看结果。不知道是哪里出了问题,结果大跌眼镜。

二毛erma02阅读 10.2k评论 3

封面图
Python之如何优雅的重试
为了避免偶尔的网络连接失败,需要加上重试机制,那么最简单的形式就是在对应的代码片段加一个循环,循环体里使用异常捕获,连接成功时退出循环,否则就重复执行相关逻辑,此时修改之后的函数f如下

Harpsichord12073阅读 7.3k

Linux终端居然也可以做文件浏览器?
大家好,我是良许。在抖音上做直播已经整整 5 个月了,我很自豪我一路坚持到了现在【笑脸】最近我在做直播的时候,也开始学习鱼皮大佬,直播写代码。当然我不懂 Java 后端,因此就写写自己擅长的 Shell 脚本。但...

良许1阅读 2.1k

基于 EKS Fargate 搭建微服务性能分析系统
近期 Amazon Fargate 在中国区正式落地,因 Fargate 使用 Serverless 架构,更加适合对性能要求不敏感的服务使用,Pyroscope 是一款基于 Golang 开发的应用程序性能分析工具,Pyroscope 的服务端为无状态服务且性...

亚马逊云开发者阅读 7.8k

喜欢追星的非科班的编程爱好者

467 声望
79 粉丝
宣传栏