SlideShare a Scribd company logo
1 of 239
Download to read offline
資料科學系列活動—
用 R 輕鬆做交易策略分析及自動下單
Speaker: 吳牧恩、林佳緯(Julian)
Date: 2016.09.24(六)
2016/09 1
你為何報名這堂課?
• 想賺錢?
• 想用R寫回測程式?
• 覺得自己是百年難得一見的交易奇才?
• 想用R下單?
• 如果你是工程背景?
• 如果你是數理背景?
• 如果你是金融背景?
• 如果你什麼背景都沒有?
2016/09 2
先自我介紹一下
• 大家好,我是牧恩!
• 部落格 (Bituzi)
• 筆名:牧清華
• 數學 
• 資金管理 理論模擬策略回測
2016/09 3
https://www.youtube.com/watch?v=i5uCWL0nsFA
你是百年難得一見的交易奇才嗎!?
• 主觀交易
• 市場上的眾多老師
• 傑西李佛摩
• 計量交易
• 西蒙斯(Jame Simons)
2016/09 4
過去:得民心者得天下!!
現在:得“計量”者得天下!?
過去股市名嘴喊盤,現在資料科學說話
2016/09 5
加上量放大的條件?
2016/09 6
烏雲罩頂: n天後的機率分佈
2016/09 7
空頭吞噬: n天後的漲跌分佈
2016/09 8
今天想帶給大家的內容
• 第一次使用R語言做回測就上手
• 下載資料、讀取資料、畫K線、簡單回測
• 如何研發好的交易策略?
• 績效:勝率、賠率、MDD、獲利因子
• 策略:濾網、動量、加碼
• 交易的聖盃:資金管理的理論與實務
• 理論:凱利賭徒、最佳化比例、槓桿空間模型
• 實務:固定分數、固定比例、選擇權價差交易實務
• 用R語言串接API下單
• Julian
2016/09 9
哪裡下載R語言?
2016/09 10
R Basic
• 加減乘除四則運算:1+2^3
• 向量產生的幾種方式:
• a=1:100
• b=100:1
• c=rep(3,5)
• d=seq(3,51,2)
• 向量運算:a=a+1,a+b,a*b
• 和:sum(a)
• 累積和:cumsum(a)
• 畫圖:plot(cumsum(a),col="red",type="l")
2016/09 11
R Basic
• a=0
• for (i in 1:100){a=a+1}
• a=0
• while (a<=100){a=a+1}
• a=0
• for (i in seq(1,99,by=2)){a=a+i}
2016/09 12
1+1+1+…+1=?
1+1+1+…+1=?
1+3+5+…+97+99=?
安裝quantmod
• install.packages("quantmod")
• library(quantmod)
參考網站:
• http://www.quantmod.com/
2016/09 13
下載資料 getSymbols
• 下載資料(預設Yahoo Finance)
• 蘋果: getSymbols("AAPL")
• 台積電: STK=get(getSymbols("2330.tw"))
• 不同的資料源:
• getSymbols('MSFT',src='google')
• getSymbols("DEXJPUS",src="FRED")
• 資料格式
• 使用head、tail
• 五個欄位:開高低收、量、還原權值
2016/09 14
畫K線圖: chartSeries
• 時間週期
• 日K: Default
• 週K: STK_week=to.weekly(STK)
• 月K: STK_mon=to.monthly(STK)
• 自行定義? 週三K
• 時間範圍
• STK["2013"]
• to.weekly(STK["2013::2015"])
• STK["2013-01-01::2013-03-02"]
• 畫圖(Charting)
• barChart(STK["2015-01-01::2015-02-03"])
• chartSeries(STK, subset="2015-12-1::2016-03-21",theme="white")
2016/09 15
技術分析指標
• 均線
• SMA(Cl(STK))
• addTA(SMA(Cl(STK)), on=1, col="blue") ## default: n=10
• addTA(SMA(Cl(STK),n=20), on=1, col="red")
• MACD
• addMACD()
• 不靈通道(Bollinger band)
• addBBands()
2016/09 16
回測前置作業
• STK.week的列名稱
• rownames(STK)
• 有多少個日期?
• length(rownames(STK))
• 產生紀錄每筆交易損益的向量
• numeric(length(rownames(STK)))
• 產生紀錄每筆交易損益的向量,並附上日期
• profit=setNames(numeric(length(rownames(STK))), rownames(STK))
2016/09 17
台積電: 週一開盤買,週五收盤賣
• 每周損益:周收盤價-周開盤價
• profit[m]=STK[m,4]-STK[m,1]
• 每週都要計算?
• for (m in rownames(STK)) {
• profit[m]=STK[m,4]-STK[m,1]
• }
• 練習
• 1: 若是開盤賣,收盤買
• 2: 月K架構?
2016/09 18
損益績效
• 損益向量
• profit
• 總損益
• sum(profit)
• paste("Profit:",sum(profit))
• 累計損益
• cumsum(profit)
• 畫出累計損益
• plot(cumsum(profit), type="l",col="red",lwd=2)
• abline(h=0,col="green")
2016/09 19
簡單的績效分析
• 贏的次數
• length(profit[profit>0])
• 勝率
• length(profit[profit>0])/length(profit[profit!=0])
• 平均賺
• mean(profit[profit>0])
• 平均賠
• mean(profit[profit<0])
• 賺賠比
• mean(profit[profit>0])/abs(mean(profit[profit<0]))
2016/09 20
如何研發好的交易策略?
最大回檔、獲利因子、動量策略、加碼
2016/09 21
台積電: 週一開盤買,週五收盤賣!
績效模組: performance.R
2016/09 22
• Total Profit: 96685
• Trading Days: 488
• Profit Per Trade: 204.4091
• # of Win: 250
• Win Rate: 52.85412 %
• Winning Average: 2287.299
• Lossing Average: -2130.669
• Maximum Draw Down: 31800
• The Periods of MDD: 16 18 20 48 282
• Profit Factor: 1.203489
• Total Profit/MDD: 3.040425
最大回檔(maximum drawdown, MDD)
• 回檔(DD)
• 最好不要有回檔(虧損、風險)
• 例如:定存最好!?
• 絕對最大回檔(MDD)
• 比例最大回檔(MDD%)
• 穩定度的表現:
• 總獲利/MDD
2016/09 23
獲利因子(profit factor)
• 賺的和 / |賠的和|
• sum(profit[profit>=0])/sum(profit[profit<0])
• 意義:每輸1單位,必可再換來?單位的獲利
• 勝率很低無所謂? Why?
• 賺小賠大無所謂? Why?
• 交易次數很少無所謂? Why?
2016/09 24
台積電這幾年都在多頭,每週開盤買
當然賺!
考慮多空: 開低買,開高賣
2016/09 25
週一開低買,開高賣,週五收盤前出
• 第一週是否可以交易?
• 先紀錄第一週收盤
• lastC=STK[1,4] ## 或lastC=Cl(STK)[1]
• 交易邏輯回測
• for (m in rownames(STK)[-1]) {
if(STK[m,1]<=lastC){profit[m]=STK[m,4]-STK[m,1]}else(
profit[m]=STK[m,1]-STK[m,4])
lastC=STK[m,4]
}
• 練習
• 開低1%買,開高1%賣,收盤前空手
2016/09 26
TSMC: 開低買,開高賣
• Total Profit: 160638
• Trading Days: 488
• Profit Per Trade: 340.3358
• # of Win: 260
• Win Rate: 55.08475 %
• Winning Average: 2320.59
• Losing Average: -2088.278
• Maximum Draw Down: 25500
• The Periods of MDD: 20 22 39 50 89
• Profit Factor: 1.362849
• Total Profit/MDD: 6.299549
2016/09 27
練習:開低1%買,開高1%賣,收盤前空手
lastC=STK[1,4]
for (m in rownames(STK)[-1]) {
if(STK[m,1]<=lastC*0.99){profit[m]=STK[m,4]-STK[m,1]}
if (STK[m,1]>=lastC*1.01){profit[m]=STK[m,1]-STK[m,4]}
lastC=STK[m,4]
}
• 最佳化參數:開低?%買,開高?%賣,收盤前空手
2016/09 28
當然你也可以試試其他股票
中鋼、中華電、鴻海、統一、國泰金、
甚至…..宏 達 電 !><
2016/09 29
HTC: 開高賣,開低買
• Total Profit: 37470
• Trading Days: 488
• Profit Per Trade: 79.55541
• # of Win: 228
• Win Rate: 48.40764 %
• Winning Average: 21658.89
• Lossing Average: -20167.72
• Maximum Draw Down: 591000
• The Periods of MDD: 5 7 19 41 151
• Profit Factor: 1.007646
• Total Profit/MDD: 0.06340203
2016/09 30
扣掉交易成本
• 股票手續費
• 成交金額*0.1425% ,
• 買賣各一次
• 小數點以下無條件捨去,不足20元以20元計
• 證券交易稅:0.3%
• fee=STK[m,4]*0.006
• 期貨滑價+手續費扣5點
• 傳統回測:2+2+1?
• 經驗平均滑價約1.5點
2016/09 31
台積電:聖盃  靠盃
2016/09 32
尋找0050成份股哪隻股票最會獲利?
• 你可以考慮下面規則?
• 1. 周K架構 or 月K架構哪個好?
• 2. 開高(?%)賣,開低(?%)買
• 3. 開低(?%)買,開高(?%)賣
• 4. 是否可做到停損 & 停利?
• 停損不停利
• 停利不停損
• 請扣掉手續費:fee=STK[m,4]*0.006
• 試找出2007年至今,誰的 “profit”最高? 或是誰的PF最大?
2016/09 33
沒轍了嗎?
開始發揮人類愛賭的天性!!
凹~ 再凹~~~ 無止境的凹!!!
2016/09 34
馬丁格爾的聖盃!? (以輪盤為例~)
贏: 翻倍;輸: 賠光
勝率18/37,賠率為1 (1:1)
2016/09 35
https://www.youtube.com/watch?v=RldNUWT2pyY
輪盤賭場優勢
2016/09 36
一種天真浪漫的賭法~(勝率18/37,賠率1)
• Martingale: 贏了下注1單位,輸了就加倍。
• 只要贏一次,就能賺一個單位。
• 輸衝贏縮,賺小賠大。
連輸
次數
第
一
次
第
二
次
第
三
次
第
四
次
第
五
次
第
六
次
第
七
次
第
八
次
第
九
次
第
十
次
第
十
一
次
投注 1 2 4 8 16 32 64 128 256 512 ???
已輸
金額
-1 -3 -7 -15 -31 -63 -127 -255 -511 -1023
2016/09 37
記得當時…
PM 06:00進賭場,AM 11:00出賭場
10枚籌碼進去,50枚籌碼出來!
假設每3~4分鐘可玩1局,
1小時約玩16局,5小時大約玩80局
2016/09 38
Beginner’s Luck!?
我們就用R語言來模擬…
10枚籌碼,最多玩80次,超過50枚的
機率?
2016/09 39
(馬丁格爾模擬) 100枚籌碼,最多玩1000次
2016/09 40
http://www.letyourmoneygrow.com/2016/09/04/mystery-and-misery-of-the-martingale-
betting-system-why-it-will-not-make-you-rich/
10枚籌碼,最多玩80次,最後超過50枚的機率!
2016/09
輸錢離場的機率為81.106%
賺超過50枚的機率為5.322%
Beginner’s Luck
確認!
模擬10000次
41
現在,我們開始 ”玩” 策略…
馬丁格爾: 贏了交易一張,輸了加倍交易
2016/09 42
交易的馬丁格爾
• 產生一個計算每次部位大小的向量
• PZ=setNames(rep(1,length(profit)),names(profit))
• 如果上次輸,下次加倍買
• if (sign(profit)[m-1]<0){PZ[m]=2*PZ[m-1]}
• 如果上次贏,下次買一張
• If (sign(profit)[m-1]<0){PZ[m]=1}
• 計算每一次的PZ
• for (m in 2:length(profit)){
if (sign(profit)[m-1]<0){PZ[m]=2*PZ[m-1]}
if (sign(profit)[m-1]>0){PZ[m]=1}
If (sign(profit)[m-1]==0){PZ[m]=PZ[m-1]}
}
2016/09 43
將PZ前與PZ後畫在一起比較
• source(“performance.R”)
• par(mfrow=c(1,3)) ##三張圖畫同一個畫面
• performance(profit) ##PZ前
• performance(profit*PZ) ##PZ後
• ProfitBar(PZ) ##PZ大小
• max(PZ) ##最大使用部位
• mean(PZ) ##平均使用部位
2016/09 44
馬丁格爾:輸了加倍買,贏了買1張
2016/09 45
PZ大法:輸縮贏衝
• 練習:類馬丁格爾 (1234…)
• 練習:贏了交易一張,輸了交易兩張
• 或是找出你認為最好的輸贏PZ?
• 輸輸贏、輸輸輸贏、贏?
2016/09 46
類馬丁格爾(1234):
輸了多交易1張,贏了只交易1張
2016/09 47
為了控制風險: 輸了交易2張,贏了交易1張
2016/09 48
輸了“多”買1張
濾網:輸了才交易1張,贏了就休息
• PZ大法
• 練習:連輸兩次再交易是否更好?
2016/09 49
濾網:去蕪存菁,拆解成…
輸了買2張,贏了買1張 = 買1張+ 輸了才買1張
2016/09 50
Total Profit: 70978.7
Trading Days: 488
Profit Per Trade: 292.0934
# of Win: 135
Win Rate: 55.55556 %
Winning Average: 2195.129
Lossing Average: -2086.701
Maximum Draw Down: 15423
The Periods of MDD: 27 35 41 48 107
Profit Factor: 1.314952
Total Profit/MDD: 4.602133
輸了“才”買1張
輸贏濾網好不好? 會不會是OverFitting?
2016/09 51
動量策略 v.s.均值回歸
• 動量策略 (順勢交易,買高賣低,違反人性):
• 因為過去漲,所以現在買進;因為過去跌,所以賣出
• 均值回歸 (逆勢交易,買低賣高,大家都愛):
• 漲多了該回跌,跌深了該反彈
• 牛頓第二運動定律:動者恆動,靜者恆靜?
• 股價漲未來是否會繼續漲?股價跌未來是否會繼續跌?
• 進場、加碼、停損、停利 屬於哪一種?
• 在交易裡,大部分違反人性的事,都是好事!
• 不正常的人才會獲利!!!
2016/09 52
我們使用“隨機交易”概念!
度量停損停利帶來的影響~
策略:開盤隨機交易,停損?停利?。
2016/09 53
開盤隨機交易,不停
損不停利,收盤平倉
2016/09 54
開盤隨機交易,停損30,
停利30,收盤平倉
隨機交易,停損30 ,
停利60,收盤平倉
2016/09 55
隨機交易,停損30,
不停利,收盤平倉
台指期貨隨機交易統計
• 不停損,停利30點
• 停損145點,停利35點
• 停損140點,停利40點
• …
• 停損35點,停利145點
• 停損30點,不停利
2016/09 56
順勢、動量、違反人性!
2016/09 57
隨機交易,停損30,
不停利,收盤平倉
隨機交易,不停損,
停利30,收盤平倉
隨機交易,其他股票如何?
1%停損,不停利
v.s.
1%停利,不停損
2016/09 58
Momentum v.s. Mean Reverse
2016/09 59
進場的動量策略
突破n日高點、跌破n日低點
黃金交叉、死亡交叉
箱型突破、箱型跌破
均線糾結後多頭排列,空頭排列
2016/09 60
“突破”10日高點買進,3日後賣出
• 何謂突破?
• Cl(STK)[m]>max(Hi(STK)[(m-10):(m-1)]) ##今天收盤>前10日高點
• Cl(STK)[(m-1)]<max(Hi(STK)[(m-10-1):(m-2)]) ##昨天收盤<昨天前10日高點
• 前10日跟最後3日是否可交易?
• for (m in (10+1):(length(rownames(STK))-3)){
profit[m]=Cl(STK)[m+3]-Cl(STK)[m]-fee
}
• 停損
• SL=0.95 #5%停損
• if (min(Lo(STK)[m:(m+3)])<Cl(STK)[m]*SL){profit[m]=Cl(STK)[m]*(SL-1)-fee}
2016/09 61
策略改進,使用波動濾網:
金融市場,什麼都是假的!
只有大小波動是真的!!
2016/09 62
最簡單的波動…. 如果這是股價的波動?
2016/09 63
20日標準差
2016/09 64
日波動:每日開盤與收盤的漲跌幅
2016/09 65
將目前的策略,增加波動濾網
• 採用10日標準差當波動,門檻值0.7
• if (sd(Cl(STK)[(m-10):(m-1)])<0.7){
原策略
}
• 波動小策略品質好? 還是波動大策略品質好?
• 找出最好的波動門檻?
2016/09 66
拿廢話當濾網…..
2016/09 67
天下之大: 合久必分,分久必合
金融市場: 波大必小,波小必大
世間萬物都是遵循此道!
2016/09 68
2016/09 69
順勢策略:波動大小決定策略品質好壞?
波動<100 波動介在100~150 波動>150
亂入策略波小當濾網輸了才交易
2016/09 70
加碼的奧義
成也加碼,敗也加碼!!
2016/09 71
加碼的奧義: 成也加碼,敗也加碼!!
• 摩天大樓 (1,1,1,1….)
• 海龜
• 金字塔 (5,4,3,2,1)
• 正常人
• 倒金字塔(1,2,3,4,5)
• 瘋子
2016/09 72
投票表決一下你覺得哪個加碼法好?
考慮台指期動量策略: 開盤+門檻值突破
(用了濾網,採用順勢)
2016/09 73
Buy
原始策略(單口當沖)績效與累計損益:X
2016/09
損益: 1670
總交易天數: 1375
實際交易次數: 199
平均每次損益: 8.434343
獲利次數: 80
勝率: 40.40404 %
平均賺: 56.175
平均賠: -23.9322
最大連續虧損: 250
最大連續虧損區間(天): 108
114 197 254 302
獲利因子: 1.59136
總獲利/MDD: 6.68
74
加碼規則:
進場後5分鐘後仍有獲利,加碼 1 口!
2016/09 75
加碼第一口後: X+X1
2016/09
損益: 1670  2951
總交易天數: 1375
實際交易次數: 199
平均每次損益: 14.82915
獲利次數: 75
勝率: : 40.40 %  37.69%
平均賺: 92.96
平均賠: -32.42742
最大連續虧損: 375
最大連續虧損區間(天): 75 94 197 261 313
獲利因子: 1.59136 1.733897
總獲利/MDD: 6.68  7.869333
76
加碼第二口後: X+X1+X2
2016/09
損益: 29513880
總交易天數: 1375
實際交易次數: 199
平均每次損益: 19.49
獲利次數: 75
勝率: 37.69%  37.64 %
平均賺: 111.68
平均賠: -36.25
最大連續虧損: 425
最大連續虧損區間(天): 79 93 96 197 257
獲利因子: 1.733897 1.862989
總獲利/MDD: 7.869333  9.129412
77
加碼第三口後: X+X1+X2+X3
2016/09
損益: 3880 4439
總交易天數: 1375
實際交易次數: 199
平均每次損益: 22.30653
獲利次數: 75
勝率: 37.64 %  37.68 %
平均賺: 120.8
平均賠: -37.26613
最大連續虧損: 425
最大連續虧損區間(天): 89 93 94 200 257
獲利因子: 1.862989  1.960615
總獲利/MDD: 9.129412  10.4447
78
一口一口加碼,你就滿足嗎?
策略拆解: 分別”獨立”看每次的加碼!
2016/09 79
第一次加碼: X1
2016/09
損益: 1281
總交易天數: 1375
實際交易次數: 103
平均每次損益: 12.43689
獲利次數: 47
勝率: 45.63107 %
平均賺: 55.12766
平均賠: -23.39286
最大連續虧損: 215
最大連續虧損區間(天): 93 96 98 114 345
獲利因子: 1.977863
總獲利/MDD: 5.95814
80
第二次加碼 :X2
2016/09
損益: 1281  929
總交易天數: 1375
實際交易次數: 46
平均每次損益: 20.19565
獲利次數: 24
勝率: 45.63107 %  52.17391 %
平均賺: 60.66667
平均賠: -23.95455
最大連續虧損: 102
最大連續虧損區間(天): 93 96 110 269 305
獲利因子: 1.977863 2.762808
總獲利/MDD: 5.59  9.107843
81
第三次加碼: X3
2016/09
損益: 929  559
總交易天數: 1375
實際交易次數: 24
平均每次損益: 23.29167
獲利次數: 14
勝率: 52.17391 %  58.33333 %
平均賺: 56.21429
平均賠: -22.8
最大連續虧損: 100
最大連續虧損區間(天): 56 63 91 110 871
獲利因子: 2.762808  3.451754
總獲利/MDD: 9.107843  5.59
82
觀察:越加碼 品質越好!
等差加碼 (1234神經病!)
等比加碼 (1248瘋子!)
2016/09 83
等差加碼1234
2016/09
損益: 9255
總交易天數: 1375
實際交易次數: 199
平均每次損益: 46.50754
獲利次數: 72
勝率: 36.1809 %
平均賺: 229.7083
平均賠: -57.35433
最大連續虧損: 858
最大連續虧損區間(天): 93 94 98 114 257
獲利因子: 2.270593
總獲利/MDD: 10.78671
84
等比加碼1248
2016/09
損益: 12420
總交易天數: 1375
實際交易次數: 199
平均每次損益: 62.41206
獲利次數: 72
勝率: 36.1809 %
平均賺: 289.1389
平均賠: -66.12598
最大連續虧損: 1079
最大連續虧損區間(天): 93 94 114 157 257
獲利因子: 2.478924
總獲利/MDD: 11.51066
85
結論:加碼是放大器,同時放大”風險”與”利潤”
好的原始策略加碼更好;
壞的原始策略加碼就完蛋!!! (overfitting)2016/09 86
交易的聖盃:資金管理的理論與實務
凱利、最佳化比例、槓桿空間模型
固定分數、固定比例、Ranking賭小一點
交易 v.s. 賭局 是否一樣?
哪裡一樣? 哪裡不一樣?
何謂賭局? 何謂交易?
2016/09 87
給你一枚銅板,人頭輸,數字贏2倍!
• 勝率50%,賠率為2
• 期望獲利
• 50%*(1+2)-1=0.5
• 平均來說,每賭1元,可獲利0.5元,50%報酬。
• 你有100元,可以玩無限多次,你會怎麼賭?
• 如果連這麼好的賭局,你都不會賭,你憑什麼在交易上獲利?
• 你可能會有其他說法,交易跟賭局不一樣?
• 交易勝率不固定,賠率不固定
• 交易次數有限次,賭局無限次
2016/09 88
賠光
WIN
LOSE
要玩 “期望淨利 > 0”
的賭局,這個大家都知道!
但這樣就夠了嗎?
2016/09 89
做個賭徒模擬實驗就知道….
• 勝率50%,賠率為2
• 1. 玩40次下注多少比例f會最好?
• 不同下注比例10%,20%,…,60%
• 2. 玩很多次下注多少比例f會最好?
• 玩100次、500次、1000次、5000次
• 用R語言模擬一下~
• Input: 勝率、賠率、下注比例
• Output: 資金成長曲線!
2016/09 90
考慮 勝率50%,賠率為2 的賭局
2016/09
資金100元
100元
91
考慮 勝率50%,賠率為2 的賭局
2016/09
資金100元,如果下注20元
80元
20元
92
考慮 勝率50%,賠率為2 的賭局
2016/09
資金100元,如果下注20元
贏:100*(1+2*20%) 80元
20元
20元
20元
93
考慮 勝率50%,賠率為2 的賭局
2016/09
資金100元,如果下注20元
贏:100*(1+2*20%) 100元
20元
20元
140元
20元
94
考慮 勝率50%,賠率為2 的賭局
2016/09
資金100元,如果下注20元
贏:100*(1+2*20%)
輸:100*(1-20%)
100元
20元
80元
95
賭局設定:
• nbet=40 ## 賭幾局?
• Odds=2 ## odds (賠率)
• Pwin=0.5 ## win rate (勝率)
• initM=100 ## initial capital (初始資金)
• f=0.3 ## bidding fraction (下注比例)
• capital=rep(initM,1) ## current capital (紀錄每一局資產)
2016/09 96
銅板賭局模擬
• 開始賭!
• for(i in 2:nbet){ ## 每一局
dice=sample(0:1,size=1,prob=c(0.5,0.5),replace=T) ## 模擬賭局輸贏
capital[i]=dice*capital[i-1]*f*(1+odds)+capital[i-1]*(1-f)} ## 資金成長
• 畫累計損益
• plot(capital,type="l",col="red",lwd=3,font=2
,xlab="The # of Bidding",ylab="The Growth of Capital"
,main=paste("WinRate",pwin*100,"%,","Odds",odds,", Play",nbet,"Games, "
,"Bidding",f*100,"%"))
• abline(h=initM,col="green",lty=2,lwd=3)
2016/09 97
2016/09 98
身為一個賭徒(交易員)
“賭” 最佳化!
身為一個數學家
“資金管理” 最佳化!
2016/09 99
凱利賭徒
“理論上”的最佳下注比例
理論、模擬、分析
2016/09 100
定義問題!!
• 勝率50%,賠率2的賭局
• 初始資金100元,玩無限多次
• 假設人生可以天長地久
• 每次決定下注比例f (0% < f < 100%)
• 假設資金可以無限分割
• 問題:f選多少可讓資金成長最快速!
2016/09 101
凱利公式推導
• 勝率為50%,賠率為2的賭局
• 賭1元,輸了賠光,贏了拿回3(=1+2)元。
• 假設每次下注為f比例
• 如果贏: At= At-1(1+2f)
• 如果輸: At= At-1 (1-f)
• 假設在T次的賭局中,一共贏了W次,輸了L次 (W+L=T)
• 結論:AT= A1(1+bf)W(1-f)L
• 我們想要最大化AT
• 如果玩無限多次會怎樣?
2016/09 102
求 f 使得 AT= A1(1+bf)W(1-f)L 最大 ?
• Rearranging:
1
𝑇
log
𝐴 𝑇
𝐴1
=
𝑊
𝑇
log(1 + 𝑏𝑓) +
𝐿
𝑇
log(1 − 𝑓)
• As 𝑇 → ∞, we have 𝑝 log(1 + 𝑏𝑓) + (1 − 𝑝) log(1 − 𝑓)
𝒇 =
𝒑 𝟏 + 𝒃 − 𝟏
𝒃
• 什麼時候 f=1? (Showhand!)
• 勝率99%,賠率10000的賭局,要你全壓,你賭不賭?
2016/09 103
2016/09 104
凱利騙局
•到底是誰騙了誰?
• Kelly
• Thorp
• Larry William
• Ralph Vince
2016/09 105
不同的部位配置(position sizing, PZ),
會造成不同的報酬損益!!
不是老師帶你上天堂、住套房,而是
”資金管理” 帶你上天堂、住套房!!
2016/09
一句話談交易:用風險換報酬
106
• 勝率固定(50%),賠率固定(2)的賭局
• 不管如何Sample (10個取,20個取,50個取,100個取) 都一樣!!
• 我以為的交易是上面這樣…
• 實際的交易損益是:不知道機率、不知道賠率!?
博弈理論 v.s. 交易實務
2016/09
-1
107
交易賭局:機率未知,但可 “預估”….???
• 賭局給定機率、賠率
• 交易回測給定”歷史損益” (Ralph Vince’s Optimal F)
2016/09 108
In Sample Out Sample
HPR: Holding Period Return
• Idea: HPR= 1 + f (-profit/biggest loss)
• Example: 16、-8、+4
• TWR (f)
= HPR1 * HPR2 * HPR3
= [1 + f (-16/-8)] * [1 + f (-(-8)/-8)] * [1 + f (-4/-8)]
= (1 + 2f ) * (1 – f) * (1 + 0.5f)
• How to find optimal f to maximize TWR(f)?
• Brute method: from f=1%, f=2%, f=3%,…,f=98%,f=100%
2016/09 109
HPR理論 (玩1次的損益期望值 v.s.下注比例)
2016/09 110
然而,人生並不像銅板賭局那麼簡單…
交 易 也 是!
沒有連續,只有離散
沒有永恆(無限),只有曾經(有限)
2016/09 111
2016/09 112
一場勝率50%、賠率為2的賭局,賭起來天南地北!
10次
50%
500次
24%
40次
31%
100次
21%
1000次
26%
5000次
25%
2016/09 113
TWR模擬:從 (16,-8,4) 取樣也天南地北!
10次
52%
500次
38%
40次
35%
100次
46%
1000次
36%
5000次
38%
三個層級的先知
• 第一層 (神):不用知道勝率,因為他知道下一場會贏還是會輸!
• 可以梭哈(ShowHands)
• 第二層(半仙):知道未來10次,”一定會贏5次,輸5次“
• 可以下最佳比例(Optimal f)
• 第三層(智者):知道未來10次發生的機率“確實是50%”。(不容易)
• 一旦遇到偏差,錯誤的下注比例很有可能讓你受傷慘重。
•賭小一點(1%~2%)
2016/09 114
再來我才要解釋這件事!
下面策略,你選哪一個?
2016/09 115
100萬 230萬 100萬1642萬
原始策略: 想要Fitting,又怕OverFitting
然而,這些都不是最重要的….
交易聖盃: 資金管理!!
https://www.youtube.com/watch?v=yVQWJeLUxSk
2016/09 116
2016/09 117
1% 3% 5% 8%
單口 風險比例
最常用的資金管理:固定分數(Fixed Fraction)
•凱利賭局的勝率已知,賠率已知  控制虧損
•交易的勝率未知,賠率未知 ?????
還是只能控制虧損!!
2016/09 118
開盤突破昨日波動(高低)*k1
• 開盤突破昨日波動*k1買進
• 20點停損,收盤平倉
• 回測標的:台指期貨
• 回測時間:2010.05.25~2015.09.10
2016/09
程式碼: 7_TX_HL.R
Total Profit: 1140
Trading Days: 1543
Profit Per Trade: 2.76699
# of Win: 161
Win Rate: 39.07767 %
Winning Average: 43.81366
Lossing Average: -23.56175
Maximum Draw Down: 312
The Periods of MDD: 107 112 171 188 254
Profit Factor: 1.192763
Total Profit/MDD: 3.653846
119
輸贏濾網:輸了一次再進場!
2016/09 120
Total Profit: 1140
# of Win: 161
Win Rate: 39.07767 %
Maximum Draw Down: 312
Profit Factor: 1.192763
Total Profit/MDD: 3.653846
Total Profit: 1427
# of Win: 106
Win Rate: 42.23108 %
Maximum Draw Down: 235
Profit Factor: 1.419582
Total Profit/MDD: 6.07234
固定分數 (以台指期貨為例,固定風險比例2%)
• 每口最大損失: 200*(30+5)=7,000
• loss=7000
• 初始資金: 1000,000
• initM=1000000
• 風險比例: 2% = 0.02
• risk=0.02
• 設定目前總資金
• capital=initM
• 計算第m天的下單口數
• PZ.FF=floor(capital*risk/loss)
• 初始下單口數:floor(1000000*0.02/7000)
• 如果資金成長到1500,000,下單口數??
2016/09 121
程式碼:8_Fixed_Fraction.R
每次交易最多損失總資金的2%
假設你有100萬,每次交易最多可損失
100萬*2%=20000
則你最多下 (下高斯20000/7000) =2 口
• 設定固定分數向量
• PZ.FF=setNames(rep(1,length(profit)),names(profit))
• PZ.FF[1]=floor(capital*risk/loss)
• 計算每一時期的固定分數
• for (m in 2:length(profit)){
PZ.FF[m]=floor(capital*risk/loss)
capital=capital+PZ.FF[m]*profit[m]*200
}
• 程式碼檢查
• head(cbind(profit,PZ.FF,"P&L"=profit*PZ.FF,"Cap"=initM+cumsum(profit*PZ.F
F*200)),1000)
2016/09 122
2016/09
Total Profit: 3054
# of Win: 161
Win Rate: 39.07767 %
Maximum Draw Down: 1273
The Periods of MDD: 112 171 188 204 254
Profit Factor: 1.150466
Total Profit/MDD: 2.399057
Total Profit: 1140
# of Win: 161
Win Rate: 39.07767 %
Maximum Draw Down: 312
The Periods of MDD: 107 112 171 188 254
Profit Factor: 1.192763
Total Profit/MDD: 3.653846 123
再來看一下Kelly是不是真的那麼神?
• 勝率: 39.07 %
• 賠率:平均賺/平均賠
• 平均賺: 43.8
• 平均賠: -23.56
• 凱利比例: 11.5 %
2016/09 124
固定比例 (Fixed Ratio)
• 瑞恩.瓊斯(交易的遊戲,1999)
• 固定分數的缺點:最初合約的增速很慢,一但累積到一定數額後,
合約的速度會突然增加很快。
• 固定比例
• 試圖平等對待每份合約,使資金的增長速率相同。
• 1. 假設資金X,從一個單位做起,例如1口。
• 2. 固定每份合約的增長量(Delta)
2016/09 125
初始資金100萬,做1口;Delta = 8萬。
•做2口的資金 = 做1口的資金 + 1*Delta = 108萬。
做3口的資金 = 做2口的資金 + 2*Delta = 124萬。
做4口的資金 = 做3口的資金 + 3*Delta = ? 萬。
•做n口的資金 = 做n-1口的資金 + (n-1)*Delta = ?。
2016/09 126
固定比例:做n口的資金 = 做n-1口的資金 + (n-1)*Delta
• = 做n-2口的資金 + (n-2)*Delta + (n-1)*Delta
• = 做n-3口的資金 + (n-3)*Delta + (n-2)*Delta + (n-1)*Delta
...
• = 做2口的資金 + 2*Delta + 3*Delta +... + (n-1)*Delta
• = 做1口的資金 + 1*Delta + 2*Delta + 3*Delta +... + (n-1)*Delta
• = 初始資金+ (n(n-1)/2)*Delta
2016/09 127
HW: 實做固定比例,並與固定分數比較
2016/09 128
凱利公式用於選擇權
2016/09 129
買權買方 v.s. 買權賣方
買買權
Long Call
賣買權
Short Call
賭大漲! 賭不會漲!
2013/10/21
賣權買方 v.s. 賣權賣方
買賣權
Long Put
賣賣權
Short Put
賭大跌! 賭不會跌!
2013/10/21
7950
8000
-1750
750
損益
大盤結
算位置
大盤結
算位置
-1750
損益
我認為的大盤
結算位置機率
機率
<7950
機率20%
>8000
機率50%7950~8000
機率30%
選擇權的多頭價差 v.s. 個人認為的機率分佈
買7950CALL; 賣8000CALL
期望獲利:
−𝟏𝟕𝟓𝟎 × 𝟐𝟎% + −𝟏𝟕𝟓𝟎+𝟕𝟓𝟎
𝟐
× 𝟑𝟎% + 𝟕𝟓𝟎 × 𝟓𝟎%
= −𝟏𝟐𝟓 < 𝟎 (不要賭!)
大盤結算位置損益
2013/10/21
機率分佈 f(x)
-1750
750
損益
大盤結算位置損益
我認為的大盤結算位
置機率
機率
7950 80007985 大盤結
算位置
p*(1+b)-1 > 0 ?
1. 計算市場賠率
2. 預測市場分佈!
3. 如何驗證此分佈是否正確?
2013/10/21
如何操爆你的資金!?
槓桿空間模型
(Leverage Space Model)
2016/09 134
多策略、多商品、多市場
2016/09 135
多策略、多商品、多市場
若下注40次,每次下f比例(理論)
A 𝒇 = 𝟏 + 𝟐𝒇 𝟐𝟎 𝟏 − 𝒇 𝟐𝟎
…
𝒇 = 𝟐𝟓%
剩下的75%資金要幹麻? 玩另一場?
同時玩2場,每場各壓23%,資金運用達46%!
2016/09 136
10倍  90倍
報酬再多9倍!
同時玩3場,每場各壓21%,資金運用達63%!
2016/09 137
10倍  90倍622倍
報酬再多62倍!
2016/09 138
2016/09 139
小結: LSM告訴我們什麼?
尋找”最好的”市場、商品、策略!?
分配最適當、有效率的資金運用比例!
2016/09 140
然而…有時候你只需要一點想像力!!!
2016/06 141
你可以分析全球各個金融市場資
料,運用各種高深的數學模型
2016/06 142
2016年02月22日 (週一)
你覺得主力在幹什麼?
我覺得主力閒閒在家沒事做,
很無聊,畫 蝙 蝠 俠!
自從出現蝙蝠俠後,10個交易日裡,有6個交
易日都是類似走勢,早盤衝高後又急速拉回!!!
2016/06 143
看功夫學交易!
2016/09 144
火雲邪神的啟示:
天下武功,無堅不破,唯快不破!
2016/09 145
Thank You!
未來有緣再見!
2016/09 146
用R語言串接API下單
交易執行與API系統架構
林佳緯
課程綱要
1. 交易執行與API系統架構
2. R計量交易套件介紹
3. R下單機設計說明與展示
交易系統架構
多算勝,少算不勝,而況無算乎
孫子兵法始計篇 第一
交易的手與腦
策略開發
策略執行
商品交易資訊
即時資料源
-----------------
事件驅動
決策引擎
計量模型
-----------------
交易執行規則
執行
交易單
-----------------
作業風險管理
歷史資料
跨日/日內資料
-----------------
資料庫
決策引擎
研究方法/演算法
-----------------
校準
回測
損益模擬
-----------------
風險評估
交易執行系統架構
交易系統的基本要求:
1. 即時 (延遲低於微秒)
2. 零誤差 (小於 6 Sigma)
3. 同時處理大量資料
4. 高可用性與熱機備援
5
完整交易系統架構圖
Application
Order Manager
Market Data
Complex Event Processing
engine
Exchange
1
Storage
Application Server Exchange
Strategy
Settings
UI
State
Mgmt (PnL
+ Position)
Order /
Execution
Monitor
Within
application
TMS
Maths
Calc
OMS
Admin
Monitor
Exchange
2
F
I
X
F
I
X
Data
Normalizer
Order
Router
Back
office
record
MktData
Store
Event
History
Adaptor for
third party
apps – R,
Matlab, etc
Data
Retrieval
Data Vendor
Replay
of stored
data
Simulator
exchange
API
軟
體
6
台灣券商 API - 元大期貨為例
7
報價API 程式
下單API 程式
券商API 資訊流
中斷連線
帳務查詢
建立連線
商品註冊 行情資料 取銷註冊
海外期貨
國內期貨
手動委託
委託回報
手動回報
成交回報
台灣券商 API 比較
2014年Julian Lin整理
9
海外券商 API – 盈透(Interactive Brokers)為例
1
0
IB Trader Workstation 系統資訊流
Establish
Connection
ibtws
Get Info
accounts
contractdetails
portfolio
Get Data
getdata
timeseries
history
realtime
marketdepth
Create Orders
orderid
createorder
orders
executions
Close
Connection
close
IB API架構圖
1
2
資料來源: http://www.bearcave.com/software/market_trading/resources_and_notes/Architecture%20of%20an%20Interactive%20Brokers%20Based%20Trading%20System.html
IB API 透過程式進行自動交易
1
3
資料來源: http://holowczak.com/ib-api-java-realtime/3/
交易系統化的優點
• 情緒影響最小化
• 可反覆回測驗證
• 維持交易紀律
• 一致性結果
• 提升下單速度
• 交易多角化
1
4
交易系統化的缺點
• 軟硬體失靈故障
• 必須持續性監看,預防技術性異常的處理
• 過度優化
1
5
R計量交易套件介紹
R 計量財務套件規劃圖
Cran Task View: Empirical Finance
https://cran.r-project.org/web/views/Finance.html
Big data
High Frequency
High Frequency
Sendrequeststheserver
Downloadandload
Data Mining
quant mod
Raw Data
A web application
Online
Shiny
Price Data
TTR
Techical Trading
Candlestick Chart
Additions of different
lines to the chart
* Moving Average
* Bollinger Bands
* Moving Average
Convergence
Divergence
Demonstration
framework for R
Statistics
* Downside risk
measures
* Risk-adjusted
performance
Plots
* Density plot
* Time series plot
* Drawdown plot
Return Data
Performance Analytics
Performance Analysis
Data Journcy
ExamplesofUsingRinFinanceExtensions
Datacleansing
Datatransformation
Webpages
Files
Database
RCurl
httr
rvest
17
R計量分析套件階層分類
應用範圍 R 套件
績效度量表及圖表 PerformanceAnalytics - 投資績效與風險分析
投資組合優化與
計量交易策略
PortfolioAnalytics - 投資組和分析與優化
quantstrat - 規則為基礎的交易系統開發
blotter - 交易系統帳務基礎結構
歷史資料存取與財務圖
表
quantmod - 量化財務模型框架
TTR - 技術分析規則
時間序列物件
xts - 時間序列物件延伸功能
zoo - 時間排序觀察
1
8
R 回測套件的優缺點
• 仍在持續開發中,難免有些小瑕疵
• 回測速度慢 (相較 Python, C, MATLAB)
• 問題必須自己找解答
• 免費
• 開放原始碼
• 客製化自由度高
• 多幣別 多商品 多策略
1
9
quantstrat 安裝說明
安裝計量套件指令
install.packages("devtools")
require(devtools)
install.packages("FinancialInstrument", repos="http://R-Forge.R-project.org")
install.packages("blotter", repos="http://R-Forge.R-project.org", type=“source”)
install.packages("quantstrat", repos="http://R-Forge.R-project.org", type=“source”)
install.packages("PortfolioAnalytics")
2
1
先安裝R 開發工具套件
install.packages("devtools")
2
2
逐一安裝quantstrat相關套件
install.packages("FinancialInstrument",
repos="http://R-Forge.R-project.org")
install.packages("blotter",
repos="http://R-Forge.R-project.org",
type=“source”)
install.packages("quantstrat",
repos="http://R-Forge.R-project.org",
type=“source”)
install.packages("PortfolioAnalytics")
2
3
安裝後檢查
2
4
測試結果
install.package(“RCurl”)
source_https <- function(url, ...) {
# load package
require(RCurl)
# parse and evaluate each .R script
sapply(c(url, ...), function(u) {
eval(parse(text = getURL(u, followlocation = TRUE, cainfo = system.file("CurlSSL",
"cacert.pem", package = "RCurl"))), envir = .GlobalEnv)
})
}
寫一段直接到git_hub載入程式碼的程式碼:
2
5
直接載入github內quanstrat的範例程式碼
bbands.R
為quantstrat 在 Github 上的一個布
林通道策略範例
source_https.R
source_https("https://raw.githubusercontent.com/R-Finance/quantstrat/master/demo/bbands.R")
2
6
交易回測step by step
quantstrat 策略回測流程
讀取資料檔
設定啟始的參
數與變數因子
產生指標 產生訊號
交易進出場的
執行規則
更新交易帳戶
資料
回測結果產出
參數優化
2
8
quantstrat 基本的回測流程
29
幣別、商
品、
歷史資料
載入起始
化
投資組合、
帳戶、交
易單、交
易策略
起始化
加入交易
指標、交
易訊號、
交易規則
策略回測
更新投資
組合、帳
戶、權益
資料
產生投資
績效報告
與圖表
起始化動作 策略定義 回測處理 帳務更新 報表產生
策略商品的啟始化
library(quantstrat)
ttz<-Sys.getenv('TZ')
Sys.setenv(TZ='UTC‘)
if (!exists('.blotter')) .blotter <- new.env()
if (!exists('.strategy')) .strategy <- new.env()
suppressWarnings(rm("order_book.macross",pos=.strategy))
suppressWarnings(rm("account.macross","portfolio.macross",pos=.blotter))
suppressWarnings(rm("account.st","portfolio.st","stock.str","stratMACROSS",'start_t','end_t')
stock.str='AAPL'
currency('USD')
stock(stock.str,currency='USD',multiplier=1)
startDate="2000-12-31“
initEq=1000000
3
0
策略的帳戶、下單、投資組合啟始化
portfolio.st='macross'
account.st='macross‘
initPortf(portfolio.st,symbols=stock.str
initAcct(account.st,portfolios=portfolio.st, initEq=initEq)
initOrders(portfolio=portfolio.st)
stratMACROSS <- strategy(portfolio.st)
3
1
定義指標
stratMACROSS <- add.indicator(
strategy = stratMACROSS, name = "SMA", arguments = list(x=quote(Cl(mktdata)), n=50),label= "ma50" )
stratMACROSS <- add.indicator(
strategy = stratMACROSS, name = "SMA", arguments = list(x=quote(Cl(mktdata)), n=200),label= "ma200")
3
2
定義訊號
stratMACROSS <- add.signal(
strategy = stratMACROSS,
name="sigCrossover",
arguments = list(columns=c("ma50","ma200"), relationship="gte"),
label="ma50.gt.ma200")
stratMACROSS <- add.signal(
strategy = stratMACROSS,
name="sigCrossover",
arguments = list(column=c("ma50","ma200"),relationship="lt"),
label="ma50.lt.ma200")
3
3
訂定交易規則
stratMACROSS <- add.rule(
strategy = stratMACROSS,
name='ruleSignal',
arguments = list(sigcol=“ma50.gt.ma200", sigval=TRUE, orderqty=100, ordertype='market',
orderside='long'),
type='enter')
stratMACROSS <- add.rule(
strategy = stratMACROSS,
name='ruleSignal',
arguments = list(sigcol="ma50.lt.ma200",sigval=TRUE, orderqty='all', ordertype='market',
orderside='long'),
type='exit')
3
4
開始回測
start_t<-Sys.time()
out<-applyStrategy(strategy=stratMACROSS , portfolios=portfolio.st)
[1] "2002-01-07 00:00:00 AAPL 100 @ 1.50565"
[1] "2003-05-16 00:00:00 AAPL 100 @ 1.23608"
[1] "2006-09-26 00:00:00 AAPL 100 @ 10.205548"
[1] "2008-05-19 00:00:00 AAPL 100 @ 24.143005"
[1] "2009-05-14 00:00:00 AAPL 100 @ 16.16766"
[1] "2013-09-11 00:00:00 AAPL 100 @ 63.238555"
end_t<-Sys.time()
print(end_t-start_t)
Time difference of 0.234004 secs
3
5
交易帳戶資料更新
start_t<-Sys.time()
updatePortf(Portfolio='macross',Dates=paste('::',as.Date(Sys.time()),sep=''))
[1] "macross“
end_t<-Sys.time()
print("更新交易帳")
[1] "更新交易帳“
print(end_t-start_t)
Time difference of 0.07900095 secs
3
6
回測結果報表
chart.Posn(Portfolio='macross',Symbol=stock.str)
add_SMA(n=50 , on=1,col='blue')
add_SMA(n=200, on=1)
3
7
回測結果報表
3
8
交易過程訊息
book = getOrderBook('macross')
stats = tradeStats('macross')
ptstats = perTradeStats('macross')
rets = PortfReturns('macross')
txns = getTxns('macross', stock.str)
getOrderbook:交易單所有記錄
tradeStats:所有交易統計資訊
perTradeState:每筆交易統計資訊
PortfReturns:投資報酬
getTxns : 交易明細帳
3
9
交易單資料總表
names(book)
[1] "macross“
names(book$macross)
[1] "AAPL”
names(book$macross$AAPL)
[1] "Order.Qty" "Order.Price" "Order.Type"
[4] "Order.Side" "Order.Threshold" "Order.Status"
[7] "Order.StatusTime" "Prefer" "Order.Set"
[10] "Txn.Fees" "Rule" "Time.In.Force"
textplot(book$macross$AAPL[, 1:5])
4
0
交易績效總覽
textplot(t(stats))
4
1
策略的累積報酬率
chart.CumReturns(rets, legend.loc =
"topleft", main="累積報酬率",
minor.ticks=FALSE)
4
2
R下單機設計說明與展示
下單機程式架構
4
4
Ticks清整模組 動態回測模組
C# 控制介面
預測模組
預測當天收盤點位 雲端資料庫
(交易明細報表)
回測歷史數據
儲存預測結果
儲存歷史數據
取得即時交易Tick
E-mail
即時軟體手機App
(元大API)
email 參考自: http://www.slideshare.net/newmanchurch/r-56476014
開發工具 toolchains 與步驟
• 開發工具下載與安裝
•  下載Visual Studio 2013 Express
•  下載 R.NET
• 設定券商API與憑證
4
5
API程式為何選擇 C# + R?
• 各有特長,也各有缺點
• R 缺乏有效率的Asynchronous Event-Driven機制
• R born to count
• C#先進的物件導向語言特性 與.Net緊密結合網路作業環境
• 券商必定提供之語言類型 : VBA/Java/C/C#
• C# 逐漸變成開放標準(open standard) 開放原始碼(Open Source)
• 爭取時效,縮短開發時間,減化程式複雜度
 系統介面與數學演算模型間互相妥協與專業分工
4
6
C# - 系統的語言
• C# 先進的物件導向語言特性
• 與.Net緊密結合網路作業環境
• 券商必定提供之語言類型 VBA Java C C#
• C# 逐漸變成開放標準(open standard) 開放原始碼(Open Source)
4
7
R 統計的語言
• R 完整的數學與財務分析套件
• 豐富且免費的參考學習資源
• 完全免費
4
8
Visual studio express 2013下載
https://www.microsoft.com/zh-tw/download/details.aspx?id=44914
4
9
執行Visual Studio 2013 Express
5
0
關鍵字R.NET搜尋 Nuget元件庫
左邊 線上 選擇netget.org,右上角 搜尋 框內 打入 “R.NET”
5
1
確認專案參考檔
如圖 安裝R.NET C#套件,結果應如右圖所示
參考套件裡,多了三個套件
RDotNet,
RDOtNet.NativeLibrary,
DynamicInterop
5
2
API檔下載 http://easywin.yuantafutures.com.tw/api/download.html
元大行情API,請選擇:
國內行情API元件及說明文件
國內行情API C# 範例
元大交易API,請選擇:
交易API元件及說明文件
交易API C# 範例
5
3
複製API相關檔案
分別把 交易API元件與行情API元件解開底下所有檔案
到特定目錄
5
4
註冊OCX元件
命令式窗下 切換到API 元件放置目錄
cd c:API
執行註冊 報價元件 與 下單元件
5
5
API測試
如果看到連線成功
商品代號為 TXFJ6, 也註冊成功
那恭喜! API就此連通了。
5
6
下單程式流程
登入帳號
註冊商品代碼
設定進出場條件
執行交易 終止交易
5
7
完整畫面
5
8
登入設定區 設定商品區 進出場條件區
即時報價
所有狀態訊息顯示
R 整合圖表
交易啟動與關閉
1. 登入設定區
5
9
要先設定好R 安裝目錄位置
帳號
密碼
2. 設定商品代碼
6
0
3.設定進出場條件
6
1
以時間進場
或選擇以價位進場
4.啟動關閉交易
6
2
開/關切換
模擬/實單切換
報價畫面
6
3
R tick點位分佈圖
6
4
6
4
C# tick價位資料傳送給R
R plot 點位分佈圖 貼在C#上
交易執行畫面
6
5
計量與程式交易面臨的風險
• 交易策略
• 市場風險
• 模型風險
• 交易執行
• 流動性風險
• 作業風險
6
6
程式常見的錯誤 - 內部
• 程式語法錯誤
• 邏輯錯誤
• 未預期的例外未處理
• 作業風險 -> 肥手指、邏輯炸彈、漏網之魚
6
7
解決辦法
• 耐心的除錯與練習
• 一個完整交易系統必經過程
• 嚴謹程式開發流程
• 先驗證 測試觀察 上線後監控
• Divide & conquer 二分法釐清問題
• 善用除錯工具
• 網路除錯
• 券商API 元大除錯工具 範例程式
6
8
程式常見的錯誤 – 外部
• 網路延遲斷線問題
• 券商伺服器本身穩定性問題
6
9
解決辦法
• 網路封包測速工具指令
• traceroute
• ping
• 多券商備援
• 觀察報價與下單回應時間差異
• 隨時預防部位避險
• 雙網路備援
• 不同ISP之寬頻連網
• 固定線路與4G
7
0
資料處理問題
• Garbage in, garbage out
• 不乾淨資料就導致從源頭就錯誤
• 即時資料防錯處理
• 回測資料清整與驗證
7
1
即時系統回報機制
• 狀態回報是能否自動交易的關鍵。
• 好的系統不在於多聰明,在於少犯錯
• 系統大小事都要存log, 做重點性回報
7
2
部位限制與管理
• 部位保證金限制
• 限制帳戶不放策略設定部位之最大資金之1.5倍
• 證券帳戶在自動交易上,要非常小心!
7
3
風險管理案例
• 騎士資本的教訓
• 曾經是美國股票交易市場最大造市與高頻交易商,一度佔NYSE
17.3%與NASDAQ 16.9% 的市場交易量
• 2012年8月,因內部流程疏忽,沒有經過嚴格測試的造市程式
直接上線進行交易
• 軟體臭蟲導致30分鐘內損失4.4億美金,兩天內自動交易接近
150檔不同的各式股票,隔日公司市值因此損失75%
• 2012年12月,同意競爭對手Getco, Virtu Financial收購
7
4
風險管理案例
• LTCM的教訓
• 匯集所有世界級數學與金融財務的
精英團隊
• 固定收益債券套利交易
• 作空S&P長期波動率
• 併購套利
7
5
低利差高槓桿,累積缺乏流動性商品,導致在金融風暴下虧損一發不可收拾
閃崩(Flash Crash) 案例
2014年10月15日 歐洲股市9:33到9:45 之間,
因為泛歐斯托克銀行指數(EURO STOXX® Banks)
期貨喪失流動性,導致價格急速攀升
(連帶導致利率短期利率驟貶)
五分鐘後,又急速回升到9:33時的價位水準
瞬時湧入的交易量,超過2008雷曼風暴
2011美債降等所引發的崩盤
Q & A
附註: R 相關工具安裝說明
• R 主程式軟體
• Rtools34
• RStudio
R 安裝 台灣 R Project 映射網站
http://cran.csie.ntu.edu.tw/
下載 R 3.3.1
base下載 主安裝檔
下載Rtools 3.4
安裝R 與Rtools
R 主程式安裝
記得32bit 與 64bit都要安裝!
R 主程式安裝
其他都用預設設定
程式集裡,確認安裝完成
執行 R 64bit
看到主控台畫面,那就完成了!
Rtools 安裝
Rtools 安裝
其餘保持預設值
開發工具介紹
• 安裝
• 基本功能介紹
安裝RStudio
https://www.rstudio.com/products/RStudio/
選擇Windows Vista/7/8/10
安裝RStudio
9
0
選擇Windows Vista/7/8/10
安裝RStudio
9
1
確定安裝完成
9
2
執行安裝後,可看到程式集上多了RStudio程式
大功告成!
Studio 整合開發環境(IDE)
9
3
工作區域
主控台區
繪圖區域

More Related Content

What's hot

程式交易經驗分享系列(3) 策略最佳化及wfa法
程式交易經驗分享系列(3)   策略最佳化及wfa法程式交易經驗分享系列(3)   策略最佳化及wfa法
程式交易經驗分享系列(3) 策略最佳化及wfa法Philip Zheng
 
カーネル法:正定値カーネルの理論
カーネル法:正定値カーネルの理論カーネル法:正定値カーネルの理論
カーネル法:正定値カーネルの理論Daiki Tanaka
 
計量化交易策略的開發與運用
計量化交易策略的開發與運用計量化交易策略的開發與運用
計量化交易策略的開發與運用derekhcw168
 
圖解設計思考:方法摘要 Methods from "GRAPHIC DESIGN THINKING:BEYOUND BRAINSTORMING"
圖解設計思考:方法摘要 Methods from "GRAPHIC DESIGN THINKING:BEYOUND BRAINSTORMING"圖解設計思考:方法摘要 Methods from "GRAPHIC DESIGN THINKING:BEYOUND BRAINSTORMING"
圖解設計思考:方法摘要 Methods from "GRAPHIC DESIGN THINKING:BEYOUND BRAINSTORMING"士杰 戴
 
76【績效管理】阿里巴巴的績效管理是怎麼做的?績效管理流程|績效考核組成|管理層與員工考核 |績效結果運用
76【績效管理】阿里巴巴的績效管理是怎麼做的?績效管理流程|績效考核組成|管理層與員工考核 |績效結果運用76【績效管理】阿里巴巴的績效管理是怎麼做的?績效管理流程|績效考核組成|管理層與員工考核 |績效結果運用
76【績效管理】阿里巴巴的績效管理是怎麼做的?績效管理流程|績效考核組成|管理層與員工考核 |績效結果運用周建良 Zhou Jian Liang
 
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜
強化学習技術とゲーム AI  〜 今できる事と今後できて欲しい事 〜強化学習技術とゲーム AI  〜 今できる事と今後できて欲しい事 〜
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜佑 甲野
 
如何靠自學成為工程師
如何靠自學成為工程師如何靠自學成為工程師
如何靠自學成為工程師Joseph Lu
 
ゼロからはじめるプロダクトマネージャー生活
ゼロからはじめるプロダクトマネージャー生活ゼロからはじめるプロダクトマネージャー生活
ゼロからはじめるプロダクトマネージャー生活Takaaki Umada
 
Reinforcement Learning(方策改善定理)
Reinforcement Learning(方策改善定理)Reinforcement Learning(方策改善定理)
Reinforcement Learning(方策改善定理)Masanori Yamada
 
2018年 臉書社群行銷之經營與規劃 Facebook Marketing
2018年 臉書社群行銷之經營與規劃 Facebook Marketing2018年 臉書社群行銷之經營與規劃 Facebook Marketing
2018年 臉書社群行銷之經營與規劃 Facebook MarketingNorika
 
強化学習 と ゲーム理論 (MARL)
強化学習 と ゲーム理論 (MARL)強化学習 と ゲーム理論 (MARL)
強化学習 と ゲーム理論 (MARL)HarukaKiyohara
 
RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...
RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...
RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...Kei Nakagawa
 
次世代量子情報技術 量子アニーリングが拓く新時代 -- 情報処理と物理学のハーモニー --
次世代量子情報技術 量子アニーリングが拓く新時代 -- 情報処理と物理学のハーモニー --次世代量子情報技術 量子アニーリングが拓く新時代 -- 情報処理と物理学のハーモニー --
次世代量子情報技術 量子アニーリングが拓く新時代 -- 情報処理と物理学のハーモニー --Shu Tanaka
 
ポーカーAIの最新動向 20171031
ポーカーAIの最新動向 20171031ポーカーAIの最新動向 20171031
ポーカーAIの最新動向 20171031Jun Okumura
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識佑 甲野
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介Masahiro Sakai
 
產業分析研究方法
產業分析研究方法產業分析研究方法
產業分析研究方法Hans Ho
 
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~Kenshi Abe
 
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
Halo2 におけるHFSM(階層型有限状態マシン)  【ビヘイビアツリー解説】Halo2 におけるHFSM(階層型有限状態マシン)  【ビヘイビアツリー解説】
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】Youichiro Miyake
 

What's hot (20)

程式交易經驗分享系列(3) 策略最佳化及wfa法
程式交易經驗分享系列(3)   策略最佳化及wfa法程式交易經驗分享系列(3)   策略最佳化及wfa法
程式交易經驗分享系列(3) 策略最佳化及wfa法
 
カーネル法:正定値カーネルの理論
カーネル法:正定値カーネルの理論カーネル法:正定値カーネルの理論
カーネル法:正定値カーネルの理論
 
計量化交易策略的開發與運用
計量化交易策略的開發與運用計量化交易策略的開發與運用
計量化交易策略的開發與運用
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
圖解設計思考:方法摘要 Methods from "GRAPHIC DESIGN THINKING:BEYOUND BRAINSTORMING"
圖解設計思考:方法摘要 Methods from "GRAPHIC DESIGN THINKING:BEYOUND BRAINSTORMING"圖解設計思考:方法摘要 Methods from "GRAPHIC DESIGN THINKING:BEYOUND BRAINSTORMING"
圖解設計思考:方法摘要 Methods from "GRAPHIC DESIGN THINKING:BEYOUND BRAINSTORMING"
 
76【績效管理】阿里巴巴的績效管理是怎麼做的?績效管理流程|績效考核組成|管理層與員工考核 |績效結果運用
76【績效管理】阿里巴巴的績效管理是怎麼做的?績效管理流程|績效考核組成|管理層與員工考核 |績效結果運用76【績效管理】阿里巴巴的績效管理是怎麼做的?績效管理流程|績效考核組成|管理層與員工考核 |績效結果運用
76【績效管理】阿里巴巴的績效管理是怎麼做的?績效管理流程|績效考核組成|管理層與員工考核 |績效結果運用
 
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜
強化学習技術とゲーム AI  〜 今できる事と今後できて欲しい事 〜強化学習技術とゲーム AI  〜 今できる事と今後できて欲しい事 〜
強化学習技術とゲーム AI 〜 今できる事と今後できて欲しい事 〜
 
如何靠自學成為工程師
如何靠自學成為工程師如何靠自學成為工程師
如何靠自學成為工程師
 
ゼロからはじめるプロダクトマネージャー生活
ゼロからはじめるプロダクトマネージャー生活ゼロからはじめるプロダクトマネージャー生活
ゼロからはじめるプロダクトマネージャー生活
 
Reinforcement Learning(方策改善定理)
Reinforcement Learning(方策改善定理)Reinforcement Learning(方策改善定理)
Reinforcement Learning(方策改善定理)
 
2018年 臉書社群行銷之經營與規劃 Facebook Marketing
2018年 臉書社群行銷之經營與規劃 Facebook Marketing2018年 臉書社群行銷之經營與規劃 Facebook Marketing
2018年 臉書社群行銷之經營與規劃 Facebook Marketing
 
強化学習 と ゲーム理論 (MARL)
強化学習 と ゲーム理論 (MARL)強化学習 と ゲーム理論 (MARL)
強化学習 と ゲーム理論 (MARL)
 
RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...
RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...
RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...
 
次世代量子情報技術 量子アニーリングが拓く新時代 -- 情報処理と物理学のハーモニー --
次世代量子情報技術 量子アニーリングが拓く新時代 -- 情報処理と物理学のハーモニー --次世代量子情報技術 量子アニーリングが拓く新時代 -- 情報処理と物理学のハーモニー --
次世代量子情報技術 量子アニーリングが拓く新時代 -- 情報処理と物理学のハーモニー --
 
ポーカーAIの最新動向 20171031
ポーカーAIの最新動向 20171031ポーカーAIの最新動向 20171031
ポーカーAIの最新動向 20171031
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介
 
產業分析研究方法
產業分析研究方法產業分析研究方法
產業分析研究方法
 
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
 
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
Halo2 におけるHFSM(階層型有限状態マシン)  【ビヘイビアツリー解説】Halo2 におけるHFSM(階層型有限状態マシン)  【ビヘイビアツリー解説】
Halo2 におけるHFSM(階層型有限状態マシン) 【ビヘイビアツリー解説】
 

Similar to [DSC 2016] 系列活動:吳牧恩、林佳緯 / 用 R 輕鬆做交易策略分析及自動下單

藍色投機客 計量化交易策略的開發
藍色投機客 計量化交易策略的開發藍色投機客 計量化交易策略的開發
藍色投機客 計量化交易策略的開發guest87f844
 
Design Method_20200409
Design Method_20200409Design Method_20200409
Design Method_20200409Winny Wang
 
103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授
103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授
103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授翔霖 詹
 
有保護的賣方策略
有保護的賣方策略有保護的賣方策略
有保護的賣方策略eddiechuang
 
103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授
103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授
103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授翔霖 詹
 
Design Method_20200416
Design Method_20200416Design Method_20200416
Design Method_20200416Winny Wang
 
Plan your trade,trade your plan
Plan your trade,trade your planPlan your trade,trade your plan
Plan your trade,trade your planandy6898
 
Option Strategies
Option StrategiesOption Strategies
Option StrategiesJoyceZeng
 
使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)
使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)
使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)Will Huang
 
进阶策略销售培训
进阶策略销售培训进阶策略销售培训
进阶策略销售培训20004
 
社企流iLab 第一期 Try It 創意試驗計畫 結案報告
社企流iLab 第一期 Try It 創意試驗計畫 結案報告社企流iLab 第一期 Try It 創意試驗計畫 結案報告
社企流iLab 第一期 Try It 創意試驗計畫 結案報告seinsights
 

Similar to [DSC 2016] 系列活動:吳牧恩、林佳緯 / 用 R 輕鬆做交易策略分析及自動下單 (12)

藍色投機客 計量化交易策略的開發
藍色投機客 計量化交易策略的開發藍色投機客 計量化交易策略的開發
藍色投機客 計量化交易策略的開發
 
Design Method_20200409
Design Method_20200409Design Method_20200409
Design Method_20200409
 
103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授
103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授
103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授
 
有保護的賣方策略
有保護的賣方策略有保護的賣方策略
有保護的賣方策略
 
103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授
103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授
103.12.08 勞動部-創業進階班-創業應有的觀念與態度-詹翔霖教授
 
ParTips PPT
ParTips PPTParTips PPT
ParTips PPT
 
Design Method_20200416
Design Method_20200416Design Method_20200416
Design Method_20200416
 
Plan your trade,trade your plan
Plan your trade,trade your planPlan your trade,trade your plan
Plan your trade,trade your plan
 
Option Strategies
Option StrategiesOption Strategies
Option Strategies
 
使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)
使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)
使用 .NET 5 實現美股期貨的量化交易策略 (.NET Conf 2020)
 
进阶策略销售培训
进阶策略销售培训进阶策略销售培训
进阶策略销售培训
 
社企流iLab 第一期 Try It 創意試驗計畫 結案報告
社企流iLab 第一期 Try It 創意試驗計畫 結案報告社企流iLab 第一期 Try It 創意試驗計畫 結案報告
社企流iLab 第一期 Try It 創意試驗計畫 結案報告
 

More from 台灣資料科學年會

[台灣人工智慧學校] 人工智慧技術發展與應用
[台灣人工智慧學校] 人工智慧技術發展與應用[台灣人工智慧學校] 人工智慧技術發展與應用
[台灣人工智慧學校] 人工智慧技術發展與應用台灣資料科學年會
 
[台灣人工智慧學校] 執行長報告
[台灣人工智慧學校] 執行長報告[台灣人工智慧學校] 執行長報告
[台灣人工智慧學校] 執行長報告台灣資料科學年會
 
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰台灣資料科學年會
 
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機台灣資料科學年會
 
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機台灣資料科學年會
 
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話台灣資料科學年會
 
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇台灣資料科學年會
 
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察 [TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察 台灣資料科學年會
 
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵台灣資料科學年會
 
[台灣人工智慧學校] 從經濟學看人工智慧產業應用
[台灣人工智慧學校] 從經濟學看人工智慧產業應用[台灣人工智慧學校] 從經濟學看人工智慧產業應用
[台灣人工智慧學校] 從經濟學看人工智慧產業應用台灣資料科學年會
 
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告台灣資料科學年會
 
[台中分校] 第一期結業典禮 - 執行長談話
[台中分校] 第一期結業典禮 - 執行長談話[台中分校] 第一期結業典禮 - 執行長談話
[台中分校] 第一期結業典禮 - 執行長談話台灣資料科學年會
 
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人台灣資料科學年會
 
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維台灣資料科學年會
 
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察台灣資料科學年會
 
[TOxAIA新竹分校] 深度學習與Kaggle實戰
[TOxAIA新竹分校] 深度學習與Kaggle實戰[TOxAIA新竹分校] 深度學習與Kaggle實戰
[TOxAIA新竹分校] 深度學習與Kaggle實戰台灣資料科學年會
 
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT台灣資料科學年會
 
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達台灣資料科學年會
 
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳台灣資料科學年會
 

More from 台灣資料科學年會 (20)

[台灣人工智慧學校] 人工智慧技術發展與應用
[台灣人工智慧學校] 人工智慧技術發展與應用[台灣人工智慧學校] 人工智慧技術發展與應用
[台灣人工智慧學校] 人工智慧技術發展與應用
 
[台灣人工智慧學校] 執行長報告
[台灣人工智慧學校] 執行長報告[台灣人工智慧學校] 執行長報告
[台灣人工智慧學校] 執行長報告
 
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰
 
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
 
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
 
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話
 
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇
 
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察 [TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察
 
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵
 
[台灣人工智慧學校] 從經濟學看人工智慧產業應用
[台灣人工智慧學校] 從經濟學看人工智慧產業應用[台灣人工智慧學校] 從經濟學看人工智慧產業應用
[台灣人工智慧學校] 從經濟學看人工智慧產業應用
 
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告
 
台灣人工智慧學校成果發表會
台灣人工智慧學校成果發表會台灣人工智慧學校成果發表會
台灣人工智慧學校成果發表會
 
[台中分校] 第一期結業典禮 - 執行長談話
[台中分校] 第一期結業典禮 - 執行長談話[台中分校] 第一期結業典禮 - 執行長談話
[台中分校] 第一期結業典禮 - 執行長談話
 
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人
 
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維
 
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察
 
[TOxAIA新竹分校] 深度學習與Kaggle實戰
[TOxAIA新竹分校] 深度學習與Kaggle實戰[TOxAIA新竹分校] 深度學習與Kaggle實戰
[TOxAIA新竹分校] 深度學習與Kaggle實戰
 
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT
 
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達
 
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳
 

[DSC 2016] 系列活動:吳牧恩、林佳緯 / 用 R 輕鬆做交易策略分析及自動下單