繁簡切換您正在訪問的是FX168財經網,本網站所提供的內容及信息均遵守中華人民共和國香港特別行政區當地法律法規。

FX168财经网>人物频道>帖子

股票在某时间段涨跌幅及年化收益的函数

作者/专门套利 2019-05-10 07:46 0 来源: FX168财经网人物频道

应小编的要求,写了个返回股票在某时间段涨跌幅的函数

涨跌幅函数为rangeChange(stockSymbol, startDate, endDate)
年化收益函数为annualizedReturn(stockSymbol, startDate, endDate)

这个代码已经很简化了,功能强大。你要说再加啥功能,我也不知道加啥了。小编一定要让我多写一点,无语


from jqdatasdk import *
import pandas as pd
from datetime import datetime, timedelta # 导入datetime模块  

auth('username','code') #输入用户名密码

def rangeChange(stockSymbol, startDate, endDate):
    #返回区间内股票的收益率

    df = get_price(stockSymbol, start_date=startDate, end_date=endDate, frequency='daily', fields=['pre_close',"close"],skip_paused=False, fq='pre')

    startDateF=datetime.strptime(startDate, "%Y-%m-%d") 

    if df.index[0]==startDateF:
        #如果初始日为交易日,取该交易日的收盘价       
        startPrice=df.ix[0,1]
    else:
        #如果初始日为非交易日,取之前最近交易日的收盘价
        startPrice=df.ix[0,0]

    endPrice=df.ix[-1,1]
    return endPrice/startPrice-1

def annualizedReturn(stockSymbol, startDate, endDate):
    performance=rangeChange(stockSymbol, startDate, endDate)
    startDateF=datetime.strptime(startDate, "%Y-%m-%d")
    endDateF=datetime.strptime(endDate, "%Y-%m-%d")
    calDays=(endDateF-startDateF).days
    annualReturn=(1 performance)**(1/(calDays/365))-1
    return annualReturn

#############
#用户输入
startDate="2015-01-01"#输入初始日
endDate="2018-02-01" #输入到期日
stockSymbol='000001.XSHE' #输入股票代码
##############

performance=rangeChange(stockSymbol, startDate, endDate)
print(performance)

annualReturn=annualizedReturn(stockSymbol, startDate, endDate)
print(annualReturn)
分享到:
举报财经168客户端下载

全部回复

0/140

投稿 您想发表你的观点和看法?

更多人气分析师

  • 张亦巧

    人气2152文章4145粉丝45

    暂无个人简介信息

  • 梁孟梵

    人气2152文章3177粉丝39

    qq:2294906466 了解群指导添加微信mfmacd

  • 指导老师

    人气1856文章4423粉丝52

    暂无个人简介信息

  • 李冉晴

    人气2296文章3821粉丝34

    李冉晴,专业现贷实盘分析师。

  • 刘钥钥1

    人气2016文章3119粉丝34

    专业从事现货黄金、现货白银模似实盘操作分析指导

  • 张迎妤

    人气1896文章3305粉丝34

    个人专注于行情技术分析,消息面解读剖析,给予您第一时间方向...

  • 金泰铬J

    人气2320文章3925粉丝51

    投资问答解咨询金泰铬V/信tgtg67即可获取每日的实时资讯、行情...

  • 金算盘

    人气2696文章7761粉丝125

    高级分析师,混过名校,厮杀于股市和期货、证券市场多年,专注...

  • 金帝财神

    人气4736文章8329粉丝118

    本文由资深分析师金帝财神微信:934295330,指导黄金,白银,...