
目录
「马丁交易策略」是从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持续亏损并加码直至见底,则会宣告破产,风险控制一直都是马丁策略使用者一直在改善的部分!
若读者有兴趣制作更多交易策略,可以前往我们的官方网站,里面有提供更多财务、交易等财金资料,来帮助您制作更好的选股策略!
本文仅供参考之用,并不构成要约、招揽或邀请、诱使、任何不论种类或形式之申述或订立任何建议及推荐,读者务请运用个人独立思考能力,自行作出投资决定,如因相关建议招致损失,概与作者无涉。
电子报订阅