司岚财经 - 综合财经知识门户

当前位置:司岚财经 > 基金 > 获取基金数据api

获取基金数据api

2024-03-03 04:51

股票投资是一种需要谨慎的投资方式,投资者需要有正确的投资理念和风险意识,避免盲目跟风和过度自信,以免造成不必要的损失。下面,司岚财经将会带领大家了解基金数据爬取,希望你可以从本文中找到答案。

各种API接口网址

各种API接口网址

优质回答涵盖图像处理、自然语言、语音技术、知识图谱、数据智能、AR、视频技术和深度学习八大方面。看需选择即可。

注:申请试用的API Key可以免费试用他上面的接口

手机号码归属地API接口:

历史上的今天API接口:

股票数据API接口:

全国WIFI接口:

星座运势接口:

黄金数据接口:

语音识别接口:

周公解梦接口:

天气预报API接口:

身份证查询API接口:

笑话大全API接口:

邮编查询接口:

老黄历接口:

网站安全检测接口:

手机固话来电显示接口:

基金财务数据接口:

成语词典接口:

新闻头条接口:

IP地址接口:

问答机器人接口:

汇率API接口:

电影票房接口:

万年历API接口:

NBA赛事接口:

淘宝开放平台

微博开放平台

讯飞语音

融云IM

高德地图

混合型\股票型基金有什么办法可以实时查看涨跌走势? 和指数型基金一样。

优质回答下文我主要是以股票代码举例,换成基金代码也是可以的,实时关注!

Ref===>tushare

系统:Ubuntu 15.04 Python:2.7 环境包:Anaconda,仅供娱乐.

最近在学习Python语言,刚好也想学学炒股,因此学习了一些基础知识后,打算做一些股票相关的demo练手,第一个要解决的问题当然是数据采集。

翻遍了网络,看了一些朋友的代码片段,知道了向API请求数据的格式大概是这样的:;type=last其中的akdaily表示日k线,sh601989则是股票代码,向端口发出请求后会返回股票的所有历史数据。因为不会以关键词高亮的模式写代码,请自带IDE观看,原代码如下:

const.py

# -*- coding: utf-8 -*-

"""

功能:

放置常量,列表 

Created on Thu Jul 23 09:17:27 2015

@author: jet

"""

DAY_PRICE_COLS = ['date', 'open', 'high', 'close', 'low', 'volume', 

'chg', '%chg', 'ma5', 'ma10', 'ma20', 

'vma5', 'vma10', 'vma20', 'turnover']

DAY_PRICE_URL = '%sapi.finance.%s/%s/code=%s&type=last'

INDEX_KEY = ['SH', 'SZ', 'HS300', 'SZ50', 'GEB', 'SMEB']

INDEX_LIST = {'SH': 'sh000001', 'SZ': 'sz399001', 'HS300': 'sz399300',

'SZ50': 'sh000016', 'GEB': 'sz399006', 'SMEB': 'sz399005'}

INDEX_DAY_PRICE_COLS= ['date', 'open', 'high', 'close', 'low', 'volume',

'chg', '%chg', 'ma5', 'ma10', 'ma20',

'vma5', 'vma10', 'vma20'] 

K_TYPE_KEY = ['D', 'W', 'M']

K_TYPE_MIN_KEY = ['5', '15', '30', '60']

K_TYPE = {'D': 'akdaily', 'W': 'akweekly', 'M': 'akmonthly'}

MIN_PRICE_URL = '%sapi.finance.%s/akminscode=%s&type=%s' 

PAGE_TYPE = {'http': ';, 'ftp': ';}

PAGE_DOMAIN = {'sina': 'sina.com.cn', 'ifeng': 'ifeng.com'}

URL_ERROR_MSG = '获取失败,请检查网络状态,或者API端口URL已经不匹配!'

get_hist_data.py

# -*- coding: utf-8 -*-

"""

Created on Thu Jul 23 09:15:40 2015

@author: jet

"""

import const as ct

import pandas as pd

import json

from urllib2 import urlopen,Request

def get_hist_data(code = None, start = None, end = None, ktype = 'D'):

"""

功能:

获取个股历史交易数据

--------

输入:

--------

code:string

股票代码 比如:601989

start:string

开始日期 格式:YYYY-MM-DD 为空时取到API所提供的最早日期数据

end:string

结束日期 格式:YYYY-MM-DD 为空时取到最近一个交易日数据

ktype:string(default=D, 函数内部自动统一为大写)

数据类型 D=日K线,W=周K线,M=月K线,5=5分钟,15=15分钟

30=30分钟,60=60分钟 

输出:

--------

DataFrame

date 日期

open 开盘价

high 最高价

close 收盘价

low 最低价

chg 涨跌额 

p_chg 涨跌幅

ma5 5日均价

ma10 10日均价

ma20 20日均价

vma5 5日均量

vma10 10日均量

vma20 20日均量

turnover换手率(指数无此项)

""" 

code = code_to_APIcode(code.upper())

ktype = ktype.upper()

url = '' 

url = get_url(ktype, code) 

print(url)

js = json.loads(ping_API(url))

cols = []

if len(js['record'][0]) == 14:

cols = ct.INDEX_DAY_PRICE_COLS

else:

cols = ct.DAY_PRICE_COLS

df = pd.DataFrame(js['record'], columns=cols)

if ktype in ct.K_TYPE_KEY:

df = df.applymap(lambda x:x.replace(u',', u''))

for col in cols[1:]:

df[col]=df[col].astype(float)

if start is not None:

df = df [df.date >= start]

if end is not None:

df = df[df.date <= end]

df = df.set_index('date')

return df 

def code_to_APIcode(code):

"""

功能:

验证输入的股票代码是否正确,若正确则返回API对应使用的股票代码

"""

print(code)

if code in ct.INDEX_KEY:

return ct.INDEX_LIST[code]

else:

if len(code) != 6:

raise IOError('code input error!')

else:

return 'sh%s'%code if code[:1] in ['5', '6'] else 'sz%s'%code

def get_url(ktype, code):

"""

功能:

验证输入的K线类型是否正确,若正确则返回url

""" 

if ktype in ct.K_TYPE_KEY:

url = ct.DAY_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],

ct.K_TYPE[ktype], code)

return url

elif ktype in ct.K_TYPE_MIN_KEY:

url = ct.MIN_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],

code, ktype)

return url

else:

raise IOError('ktype input error!')

def ping_API(url):

"""

功能:

向API发送数据请求,若链接正常返回数据

"""

text = ''

try:

req = Request(url)

text = urlopen(req,timeout=10).read() 

if len(text) < 15:

raise IOError('no data!') 

except Exception as e:

print(e)

else:

return text

#测试入口

print(get_hist_data('601989','2015-07-11','2015-07-22'))

想要成长,必定会经过生活的残酷洗礼,我们能做的只是杯打倒后重新站起来前进。上面关于基金数据爬取的信息了解不少了,司岚财经希望你有所收获。

声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

相关推荐

本网站所有内容均由编辑从互联网收集整理,如果您发现不合适的内容,请联系我们进行处理,谢谢合作!

Copyright © 2021-2022 司岚财经 -(www.islandki.com) 版权所有 网站备案号:蜀ICP备2022001395号 网站地图