[閒聊] 如何寫程式

看板NCUFingrad07作者 (耶~~!)時間16年前 (2008/06/21 23:45), 編輯推噓1(211)
留言4則, 3人參與, 最新討論串1/1
上次送舊的時候 有學弟妹問到這嚴肅的話題 何必勒 好好吃飯阿 (那天 Party King 還在跟學弟妹幹古金融倫理的事情 下次吃飯就吃飯吧 搞那麼嚴肅) 不過 進入正題 好像有些學弟妹 都不太會寫程式 或是 害怕寫程式 其實 這也不是很難 致揚學長都可以一個月上手了 我想你們應該更快才是 首先 可以先找一個有興趣的主題 慢慢開始練習 例如 先寫個 基本 BS call 的評價 公式解 Tree 模擬 再來可以練習 你們學過的 exotic option 或是用不同模型下如何計算 或是例如 寫個資產分配 min Var 的權重 在慢慢延伸 或是就寫個迴歸 做個檢定也行 ... 隨你們開心 ------------------------------------------------------- 如何開始勒 就打開你想用的程式吧 Matlab C++ VBA 隨你開心 Matlab 好處是在於 有些內建的函式 使用比較方便 不過業界是比較少用 大部分還可能還是C++ 和 VBA 如果想要真的學會寫程式的話 我是覺得用matlab 也盡量不要用到一些方便的函式 就自己試著算算看 學習如何將數學邏輯轉成程式邏輯 因為3種語言其實都差不多 (SAS就完全不一樣了) 過度依賴函式 如果以後要你用其他軟體 會比較不適應 舉個例 要寫BS call 1. 有closed form 那就把公式 key 進去吧 2. Tree 和模擬 應該是要用迴圈吧 for if while .... 判斷句會不會使用 或是用 () 3. 模擬要抽亂數 或是如何用 Uniform (0,1) 去抽其他分配的亂數 考研究所應該都有唸過吧 4. 如果是多資產的 要如何抽取出 有相關性的 normal 隨機變數 (丘拉斯基分解) 會到此 應該就都可以處理很多問題了 5. 如果要延伸 就去弄美式的模擬 LSM 會有提早履約的問題 這程式就不太好寫了 像今年張老師的學生 好像都要處理這類問題 那時修固收時 我看統研所同學寫的程式 寫的很漂亮 用 matlab 的函數 find 處理的很漂亮 我是弄了一推回圈 你們可以先學習如何硬幹出來 然後自然而來就會想到如何改進程式的效率了 我之前看到一年級寫的程式碼 也覺得很白痴 就慢慢學習吧 ----------------------------------------------------- 如果要寫資產管理的 極大或極小的函數就很重要了 6. matlab 有 Optimization Toolbox 應用這個就可以加入你想要的限制式了 要會令 function ----------------------------------------------------- 然後我論文之前比較常用就是 7. Symbolic Toolbox 這個的話 是可以處理有封閉解的代數運算 例如 syms x y a b c 我設四個符號 f = a*x^2 + b*x + c ; 我可以用 solve 解出 x = 2a分之負b加減..... 或是 令 ------ x = 3*y^2 ; 將此帶入 f---- subs(f) 然後還有 eval 這個東西 很好用 可以利用它幫你計算 例如 你有100個變數 都是要做類似的事情 不過如果 x1 x2 x3 .....x100 慢慢打要打到死 可以利用這個 寫成迴圈 ----------------------------------------------------- 我是覺得大家不要太擔心 玩玩看就會有感覺了 如果真的要看書 中文有 C++ 戴天時 VBA 董夢雲 張焯然也有一本 還有一本銘傳財金出的 不過我覺得後兩本 都只有介紹 函式如何使用 那看 help 就好了阿 戴天時的我覺得還不賴 因為C++沒有函式可以用 會一步一步寫 英文當然就是 Glasserman (2004) Monte Carlo Method in Financial Engineering 差不多該有的都有了 圖書館有 ^^ John Hull 那本的其中兩章也可以參考 然後 Matlab 版 很多厲害的鄉民 以上講的是我這兩年大概用過的東西 最後建議 要開始寫程式時 你確實把你所要求算的方程式或是過程一步一步的搞懂 這樣才能將他幻化成程式看的懂的文字 我自己覺得最難的財務程式是 建tree 或是 美式選擇權 你們有控可以 玩玩看 真的不要以為會這些就很屌 有興趣就當成是一個遊戲玩玩看 看能不能將手算的過程 化簡用電腦處理 套句 Party King 看過車展 show girls 感概的話 賺錢才是王道 然後也請碩二的補充我不足的地方 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.225.136.192

06/22 10:03, , 1F
謝謝學長!
06/22 10:03, 1F

06/22 13:30, , 2F
我推Justin London的書,有很多現成的code可以用
06/22 13:30, 2F

06/22 14:16, , 3F
我這有書 如果有需要的同學可以看看 在下禮拜前~
06/22 14:16, 3F

06/22 17:00, , 4F
這.....是在回嗆我嗎 = =
06/22 17:00, 4F
文章代碼(AID): #18NI8Kgf (NCUFingrad07)