获取股票实时数据和历史数据
时间: 2024-12-30 10:23:22 浏览: 5
### 获取股票市场实时数据和历史数据
#### 使用API接口获取实时行情数据
为了获得股票市场的实时行情数据,可以采用专门设计用于此目的的API接口。这类接口通常提供了一种简便的方式让开发者能够快速接入并使用来自证券交易所的第一手资料[^2]。
例如,假设有一个名为`StockMarketAPI`的服务提供商,该服务支持RESTful API请求方式来查询最新的股价变动情况:
```python
import requests
def get_realtime_stock_price(stock_code):
url = f"https://api.stockmarket.com/realtime?code={stock_code}"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
return {
"name": data['name'],
"price": data['lastPrice'],
"change_percent": data['percentChange']
}
else:
raise Exception(f"Failed to fetch stock price, status code {response.status_code}")
# 调用函数获取某支股票最新报价信息
result = get_realtime_stock_price('AAPL')
print(result)
```
这段代码展示了如何向指定URL发送GET请求以检索特定股票(这里是以苹果公司为例)当前的价格和其他相关信息,并将其解析成易于理解的形式返回给用户。
#### 利用API接口取得历史交易记录
当涉及到获取更长时间跨度内的股票表现时,则需要用到能访问过往成交详情的功能模块——也就是所谓的“全量历史行情API”。这种类型的API不仅限于大盘指数成分股,同样适用于中小型企业的股份,几乎涵盖了所有上市公司的公开交易活动记录[^1]。
下面是一个简单的例子说明怎样通过API提取一段时间内某个具体股票的历史收盘价序列:
```python
from datetime import date
import pandas as pd
def get_historical_prices(stock_code, start_date=date(2023, 1, 1), end_date=date.today()):
base_url = "https://api.stockmarket.com/historical"
params = {'symbol': stock_code,
'start': str(start_date),
'end': str(end_date)}
resp = requests.get(base_url, params=params)
df = pd.DataFrame(resp.json()['data'])
df.set_index(pd.to_datetime(df.date), inplace=True)
del df['date']
return df[['close']]
historical_data = get_historical_prices('AAPL', date(2023, 1, 1))
print(historical_data.head())
```
上述脚本实现了从设定的时间范围内抓取目标股票每日收市价位的过程,并将结果整理为Pandas DataFrame对象以便后续分析操作。
阅读全文