|
|
发表于 2012-8-16 23:39:06
|
显示全部楼层
其實我不太了解kelitina主 是要抓出每tick資料嗎? 還是你是要抓每一tick的運行時間?
: Y# ]! c% M9 n% z! N8 D4 U; ] n1.如果是抓每一tick的時間, 我的印象中你的agent如果太多就會超慢(有時還會當掉)
4 a) y# o$ |* y1 Y" a2.如果是抓出每tick資料我再回你~!
2 f# Y- Y7 G3 X" B$ {3.如果都不是我講的這些, 在和我說一聲感謝!!" S8 l% W/ K0 v+ j% C6 D: x
---
8 v: N; v' L* D- {! V或是說, 你可能遇到的困擾可能是我下面提的這個也有可能:4 C" M1 h' p6 h
時間這部分牽扯到兩種模式, 我把它叫做"時間模式" 和 "流程模式"
6 j; Y0 ?! a c# Z# W7 W1 R( ?- m2 I/ Y+ [2 W! k0 {$ ]/ N+ a
「時間模式」就是一個tick代表一個時間單位, 可能是秒, 是時 ,是天
2 C% P5 B+ M# d! ^ M但這有個問題, 因為我們在寫agent的時候, 很難去分說agent做這件事花多少時間4 v2 h D' {, x3 ]& ]/ D8 ~9 Q
可能在一個市場仿真中, 顧客每一tick移動是一分鐘(或30秒)
0 Y( L3 Q9 m% k* Z1 w2 g但是補貨員可能兩天才來補一次(等於你要寫個IF條件判斷說時間到了2天才能GO)
& Y" z: U2 U6 B- D" w. l! M7 g* K但是這會有個"誤差"存在才對, 所以如果真的要這樣寫我是建議加上一個random variable: g/ H" s$ x( C- `9 r; q7 e/ v
! |8 V+ j# C& g9 }2 E* ?
「流程模式」就是一個tick代表一個階段性任務的完成, 可能是火車過一站算一個tick
/ r) |( {5 W( N- S這也是ok的, 但是火車過每一站的時間其實不同, 所以這部分就會被忽略掉, 但是要小心 S$ Q b! g+ x( m
這可能是會影響你的結果的關鍵因素
$ q+ {! P" `3 s+ ^% {0 M(例如其實火車可能因為某一站路途過長, 原則上應該會在半途沒油之類的)
3 S; X& t, B( w! P& v7 f1 y/ e) r1 B) x9 }& c
---+ F; c. g* {" x' G0 l
至於我的經驗是這樣, 和你分享:% i* C+ E% J; e* G# b
像我跑的大部分都是以日為單位; d/ j! @) w) F2 v, M
可能跑個10年20年, 如果是這樣的話, 我是以tick轉換成office日期為主
0 U. J- ?# P; h5 |) v& x' l# o所以tick=1時就是1900年1月1日(office的設定)) m' s. k g% `+ s
依此類推, 我在做期貨仿真會有些不同, 原因是我從2000年起做期貨交易仿真- k$ ]9 H; N1 ~$ N/ O6 [$ ~# k( e
可能有幾天有颱風天(台灣遇到颱風大部分會放假) 彈性休假 閏年 過年等等, 會仿真的比較全面 |
|