StreamInsight와 F#에 대한 소개

1.
CEP/ESP가 소프트웨어업계의 핵심기술로 등장하였습니다. 이미 관련기술을 확보하기 위한 인수합병이 계속 되고 있습니다. Business Intelligence기술과 Realitime Web을 구현하기 하려면 너무너무 많은 데이타에서 필요로 하는 데이타를 실시간으로 찾아낼 수 있는 기술이 핵심입니다.

마이크로소프트도 이를 위한 투자를 하였고 결과가 StreamlInsight입니다. DBMS를 보유하고 있는 기업들이 택하는 DB를 기반으로 CEP구현입니다. 마이크로소프트의 공식사이트를 통해 자료를 접하실 수 있지만 저는 블로그 몇을 추천합니다.

Join Sights – Johan Åhlén

금융과 관련된 다양한 기술적 실험(?)을 진행하는 Lab49라는 회사의 블로그도 좋습니다.

Innovation On Demand

2.
F#은 마이크로소프트에서 만든 닷넷 프레임워크의 부분으로 개발한 함수형, 절차형 프로그래밍 언어입니다. 금융공학과 같은 분야에 적합한 언어라고 합니다. Credit Suise에서는 금융공학모형을 개발할 때 F#을 사용하고 있다고 합니다.

F# Job: Credit Suisse GMAG seek Trader Tools Project Lead
Functional Programming for Quantitative Modelling at Credit Suisse

또한 금융공학과 위험관리를 위한 모델링과 개발을 위한 오픈소스프로젝트도 있습니다.

Quantifa – F-Sharp Open-Source Project FOR QUANTITATIVE FINANCE AND RISK MANAGEMENT

Lab49의 블로그에 올라온 코드예입니다.

let valueDate = new DateTime(2010,1,1)
let trade = createIRSTwoLegTrade 101
let npv = trade.SwapStream |> Seq.sumBy (fun x -> generateCashflow(x,trade, valueDate, curve, forcast))
printfn “IRS NPV %A” npv

let bumpCurve = curve |> List.map (fun x -> (fst x + 0.0001, snd x))
let bumpForcast = forcast |> List.map (fun x -> (fst x + 0.0001, snd x))
let shockedNpv = trade.SwapStream |> Seq.sumBy (fun x -> generateCashflow(x,trade, valueDate, bumpCurve, bumpForcast))
printfn “IRS Shocked NPV %A” shockedNpvprintfn “Parallel PV01 %A” (npv – shockedNpv)

시작하는 방법은 마이크로소프트에서 F#관련 컴파일러등을 받아서 설치합니다. 아래와 같이 따라 하시면 됩니다.

2009년 F#의 세계에 빠져봐~요~

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.