การเทรดทางการเงินด้วย bt

การเทรดทางการเงินด้วย Python

Chelsea Yang

Data Science Instructor

แพ็กเกจ bt

เฟรมเวิร์กที่ยืดหยุ่นสำหรับกำหนดและทดสอบกลยุทธ์การเทรด

  • กลยุทธ์ (Strategy): วิธีการซื้อและขายสินทรัพย์ทางการเงินตามกฎที่กำหนดไว้ล่วงหน้า
  • การทดสอบย้อนหลัง (Backtesting): วิธีประเมินประสิทธิภาพของกลยุทธ์โดยทดสอบกับข้อมูลในอดีต
import bt
การเทรดทางการเงินด้วย Python

กระบวนการของ bt

  • ขั้นที่ 1: ดึงข้อมูลราคาในอดีต
  • ขั้นที่ 2: กำหนดกลยุทธ์
  • ขั้นที่ 3: ทดสอบกลยุทธ์กับข้อมูล
  • ขั้นที่ 4: ประเมินผลลัพธ์
การเทรดทางการเงินด้วย Python

ดึงข้อมูล

# Download historical prices
bt_data = bt.get('goog, amzn, tsla', 
                 start='2020-6-1', end='2020-12-1')

print(bt_data.head())
                   goog         amzn        tsla
Date                                            
2020-06-01  1431.819946  2471.040039  179.619995
2020-06-02  1439.219971  2472.409912  176.311996
2020-06-03  1436.380005  2478.399902  176.591995
2020-06-04  1412.180054  2460.600098  172.876007
2020-06-05  1438.390015  2483.000000  177.132004
การเทรดทางการเงินด้วย Python

กำหนดกลยุทธ์

# Define the strategy
bt_strategy = bt.Strategy('Trade_Weekly',

[bt.algos.RunWeekly(), # Run weekly
bt.algos.SelectAll(), # Use all data
bt.algos.WeighEqually(), # Maintain equal weights
bt.algos.Rebalance()]) # Rebalance
การเทรดทางการเงินด้วย Python

ทดสอบย้อนหลัง

# Create a backtest
bt_test = bt.Backtest(bt_strategy, bt_data)

# Run the backtest bt_res = bt.run(bt_test)
การเทรดทางการเงินด้วย Python

ประเมินผลลัพธ์

# Plot the result
bt_res.plot(title="Backtest result")

กราฟแสดงผลการทดสอบย้อนหลัง

# Get trade details
bt_res.get_transactions()

แสดงรายการธุรกรรมทั้งหมด

การเทรดทางการเงินด้วย Python

มาฝึกกันเถอะ!

การเทรดทางการเงินด้วย Python

Preparing Video For Download...