Skip to main content

Technical SMA

取得特定股票在指定時間範圍內的簡單移動平均 (SMA)

technical/sma/{symbol}
版本資訊

v2.2.6 起新增功能

Parameters

NameTypeDescription
symbol*string股票代碼
from*string開始日期(格式:yyyy-MM-dd
to*string結束日期(格式:yyyy-MM-dd
timeframe*stringK線週期,可選 1 1分K;5 5分K;10 10分K;15 15分K;30 30分K;60 60分K;D 日K;W 週K;M 月K
period*intSMA 週期
caution

目前分K無法指定開始日期(from) 與 結束日期(to),一律回傳近 30 日資料。

Response

NameTypeDescription
symbol*string股票代號
from*string開始日期
to*string結束日期
timeframe*stringK線週期
period*stringSMA 週期
dataObjectSMA 資料
>> data[0].datestring資料日期
>> data[0].smanumberSMA
info

'*' 表示必揭示欄位。

Example

from fubon_neo.sdk import FubonSDK, Order

sdk = FubonSDK()

accounts = sdk.login("Your ID", "Your password", "Your cert path", "Your cert password") # 需登入後,才能取得行情權限

sdk.init_realtime() # 建立行情連線

reststock = sdk.marketdata.rest_client.stock

## 2.2.6 及以後版本使用更簡化 (使用 Exception 進行例外處理)
from fubon_neo.sdk import FugleAPIError

try:
reststock.technical.sma(**{"symbol": "2330", "from": "2024-08-01", "to": "2024-08-10","timeframe":"D", "period": 5})
except FugleAPIError as e:
print(f"Error: {e}")
print("------------")
print(f"Status Code: {e.status_code}") # 例: 429
print(f"Response Text: {e.response_text}") # 例: {"statusCode":429,"message":"Rate limit exceeded"}

Response Body:

{
"symbol": "2330",
"from": "2024-08-01",
"to": "2024-08-10",
"timeframe": "D",
"period": 5,
"data": [
{
"date": "2024-08-01",
"sma": 940.4
},
{
"date": "2024-08-02",
"sma": 936.2
},
{
"date": "2024-08-05",
"sma": 910.4
},
{
"date": "2024-08-06",
"sma": 898.4
},
{
"date": "2024-08-07",
"sma": 895.6
},
{
"date": "2024-08-08",
"sma": 882.8
},
{
"date": "2024-08-09",
"sma": 889
}
]
}