Table of Contents
「馬丁交易策略」是從18世紀開始流行的賭博方式,主要方法為當每次虧損時,下次的下注就加倍,如果下次贏的話,不僅能收回先前的損失,還會獲得第一次下注總額的報酬,聽起來是一個穩賺不賠的策略,但其背後隱含著巨大的風險。
本文章使用 Mac OS 並以 Jupyter Notebook 作為編輯器
import tejapi import pandas as pd import numpy as np
Note: tejapi 安裝以命令提示字元 (Windows)/終端機 (Mac),輸入 pip install tejapi
tejapi.ApiConfig.api_key = 'Your Key' tejapi.ApiConfig.ignoretz = True
fx = tejapi.get('GLOBAL/GCURR', coid = 'EUR', mdate={'gte': '2019-01-01', 'lte':'2020-12-31'}, opts = {'columns':['mdate','tuse2']}, chinese_column_name = True, paginate = True)
累積獲利為正時,執行平倉,並買進初始0.01手;若為負,則持續加碼(變成2倍手)買進
account = 100000 # 10萬美金 lot = 0.01 # 0.01手 lev = 1/500 # 槓桿比例 lot_record = []. # 倉位紀錄 account_record = [] # 總價值紀錄 cum_profit = 0
for i in range(len(fx)): # 第一筆買入 if i < 1: cum_profit -= (100000*lot*lev*fx.loc[i, '原幣兌美元 (美元)']) # 初始買0.01手需要的保證金為歐元,所以按照當時匯率換成美元 account += cum_profit account_record.append(account) lot_record.append(lot) else: # 累計損益,乘以100000是為了換成布數 cum_profit += (fx.loc[i, '原幣兌美元 (美元)'] - fx.loc[i-1, '原幣兌美元 (美元)'])*100000*lot
# 帳戶餘額 account += (fx.loc[i, '原幣兌美元 (美元)'] - fx.loc[i-1, '原幣 兌美元 (美元)'])*100000*lot
#如果累計損益獲利,平倉後買入0.01手 if cum_profit >= 0: #買入0.01手,故重置lot & cum_profit lot = 0.01 cum_profit = -(100000*lot*lev*fx.loc[i, '原幣兌美元 (美 元)']) account += cum_profit account_record.append(account) lot_record.append(lot)
#若累計損益為負,則加碼買進 else: lot = lot *2 cum_profit -= (100000*(lot-lot/2)*lev*fx.loc[i, '原幣兌美 元 (美元)']) account -= (100000*(lot-lot/2)*lev*fx.loc[i, '原幣兌美元 (美元)']) account_record.append(account) lot_record.append(lot)
fx['價值'] = account_record
我們可以看到收益的曲線,中間都會有一根往下非常大的回撤,此時為線圖下降時的加碼狀態,虧損時也會加倍放大,這就是馬丁策略的風險所在,一2持續虧損並加碼直至見底,則會宣告破產,風險控制一直都是馬丁策略使用者一直在改善的部分!
若讀者有興趣製作更多交易策略,可以前往我們的官方網站,裡面有提供更多財務、交易等財金資料,來幫助您製作更好的選股策略!
本文僅供參考之用,並不構成要約、招攬或邀請、誘使、任何不論種類或形式之申述或訂立任何建議及推薦,讀者務請運用個人獨立思考能力,自行作出投資決定,如因相關建議招致損失,概與作者無涉。
電子報訂閱