iT邦幫忙

2023 iThome 鐵人賽

DAY 14
0

前言

使用Python連結資料庫MongoDB實作理財機器人Mx.Ada提供股票交易資訊及下單功能,以下是一個以臺股臺積電(股票代號2330)為例的實作步驟。

實作

你可以從MongoDB官方網站下載安裝程式,並按照官方檔案進行安裝和配置。

  1. 安裝Python套件:使用pip安裝pymongo套件,這個套件用於在Python中連線和操作MongoDB資料庫。在命令列輸入以下指令進行安裝:
pip install pymongo
  1. 連線到MongoDB:在Python程式碼中,使用pymongo套件連線到MongoDB資料庫。你需要提供MongoDB的連線字串、資料庫名稱以及集合名稱。以下是一個連線到MongoDB並選擇集合的範例程式碼:
from pymongo import MongoClient

# 連線到MongoDB
client = MongoClient('mongodb://localhost:27017/')

# 選擇資料庫
db = client['your_database_name']

# 選擇集合
collection = db['your_collection_name']
  1. 取得臺積電股票資訊:使用臺灣證券交易所的API或其他可取得股票資訊的API,取得臺積電(股票代號2330)的即時股票資訊。以下是一個使用臺灣證券交易所的API取得臺積電股票資訊的範例程式碼:
import requests

# 取得臺積電股票資訊
response = requests.get('https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=tse_2330.tw')
data = response.json()

# 提取所需資訊
stock_name = data['msgArray'][0]['n']
price = data['msgArray'][0]['z']
volume = data['msgArray'][0]['tv']

# 將股票資訊插入到MongoDB集合中
collection.insert_one({
    'stock_name': stock_name,
    'price': price,
    'volume': volume
})
  1. 下單功能:實作下單功能時,你需要與具體的股票交易平臺(如券商提供的API)進行連線、驗證和下單操作。根據不同的券商和API,具體的實作步驟會有所不同,你需要參考券商提供的API檔案進行程式開發。例如使用永豐Python API Shioaji進行台股台積電2330下單:
    (1) 安裝Shioaji套件:在命令列輸入以下指令進行安裝Shioaji套件。
pip install shioaji

(2) 設定證券商帳號:在程式碼中,設定使用的證券商帳號。你需要提供帳號、密碼、以及證券商的交易所別。以下是一個設定帳號的範例程式碼。

from shioaji import Shioaji

# 設定證券商帳號
api = Shioaji()
api.login(user_id="your_user_id", password="your_password")

(3) 檢查證券商帳號狀態:你可以檢查證券商帳號的狀態,確認是否已成功連線到證券商的伺服器。以下是一個檢查帳號狀態的範例程式碼。

# 檢查帳號狀態
print(api.Account)

(4) 下單:使用Shioaji API下單買入或賣出臺積電股票。以下是一個以市價單買入臺積電股票的範例程式碼。

from shioaji.constant import FuturePriceType
from shioaji import Stock
# 建立股票物件
stock = Stock(api)

# 下市價單買入臺積電股票
stock_order = stock.order(
    action=stock.Action.Buy,
    symbol="2330",
    price=0,
    quantity=1,
    order_type=FuturePriceType.Market
(5) 下單並確認結果:

```python
order = api.order_stock(
    action=Shioaji.const.Action.Buy,
    symbol='2330',
    price=0,
    quantity=1,
    price_type=Shioaji.const.TFTPriceType.LMT,
)
print(order)

我們使用order_stock函式來下單。action引數指定買進(Buy),symbol引數指定股票代號為2330(臺積電),price引數指定價格為0,quantity引數指定數量為1。price_type引數指定下單價格型態為限價單(LMT)。
執行上述程式碼後,會返回下單結果,可以透過print函式來顯示在控制檯上。


上一篇
Day13:加入風險管理功能
下一篇
Day15:開發教育資源功能
系列文
30天打造理財機器人阿達.Mx.Ada30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言