1.
여의도에 CEP/ESP가 회자한 때가 있었습니다. 벌써 3년전인 2010년입니다. 고빈도매매와 Low latency가 트레이더들의 화두이었던 때입니다.
HFT Round Table 정리.. 3. HFT 플랫폼
이후 CEP/ESP는 소리소문 없이 조용히 사라집니다. 물론 기술이 사라지지않았습니다. 빅데이타시대를 맞이하고 실시간 분석이 중요해지면서 Complex Event Processing의 자리는 작아질까요? 다시금 CEP가 무엇인지 살펴보는 것이 출발로 보입니다. W. Roy Schulte and David Luckham은 이렇게 정의합니다. “CEP= 수천, 수만 가지의 유입이벤트(Incoming Event)로부터 보다 높고 좀더 추상화된 이벤트를 추출하는 컴퓨터기술”이라고 정의합니다.
What is CEP?
CEP is a type of computing in which sets of incoming (“base”) events, sometimes hundreds or thousands of events, are distilled into higher-level and more abstract (“complex”) events. Complex events are understandable by human managers and provide insight into what is happening at the business level. Each incoming event is a record of something that happened – a business transaction, a tweet, a sensor reading, an email, a sales report, or other happening. CEP is used to correlate data about events from one or more sources on the basis of having a common value in a key field, and then to find pattern matches and trends. One complex event may be the result of calculations performed on one, two or thousands of incoming base events. CEP can provide different views of incoming events tailored to the needs of different role-players with the company such as sales, supply and financial managers.
Real-time intelligence and how it uses complex-event processing (CEP)중에서
이런 시각으로 보면 빅데이타는 CEP기술의 자리를 더 넓혀주고 있습니다. 그러면 실시간 의사결정(Realtime Intelligence)와 어떤 관계가 있을까요? David Luckham은 Realtime Intelligence를 CEP의 한 부분으로 바라봅니다.
What is real-time intelligence?
Real-time intelligence is a discipline that provides relevant information based on processing data received in real-time. Real-time intelligence is time-sensitive information that is essential when decisions are made and corresponding actions are taken quickly to avoid undesirable outcomes (threats), or to take advantage of fleeting opportunities to achieve desirable outcomes.
Real-time intelligence and how it uses complex-event processing (CEP)중에서
실시간 분석 및 의사결정(Realtime Intelligence). 다른 어떤 분야보다 Realtime Intelligence는 트레이딩영역에서 중요합니다.
Financial Trading: High-frequency trading systems in financial markets are even more sensitive to time. Some buy and sell decisions are made in less than a millisecond after receiving new data from an exchange. An opportunity will be gone when prices change or a competitor has grabbed the deal. A particular calculation can be worth thousands or millions of dollars if action is taken within .5 milliseconds, but be worthless one millisecond later. These systems are fully automated, because there is no time to involve a person in an individual trade.
Approaching Real-time Business Intelligence – Trading at the Speed of Light는 실시간 인텔리전스를 트레이딩과 연결한 자료입니다.
2.
HFT 이후 매매시스템의 구조을 통하여 빅데이타시대의 매매시스템이 어떤 구조를 가지는지를 소개하였습니다. dolppi님도 Intelligent Trading에서 단상을 담았네요. 빅데이타시대의 매매시스템을 논하기 전에 ‘빅데이타시대의 이벤트모델링’을 살펴보는 것은 어떨까요? David Luckham이 ‘Why Companies Should Develop Event Models’에서 Event Model을 정의합니다.
IBM의 Opher Etzion은 윗 글을 동의하면서 ‘the traditional request-driven way’이 아닌 방법으로 사고하는 것이 좋은 이벤트 기반의 시스템을 만드는 것이라고 주장합니다.
the major obstacle to adoption of event-driven systems is the ability of people to think in event-driven way and not in the traditional request-driven way. Being able to create event model and relate it to enterprise computing modeling is an essential step.
그리고 이를 위한 첫번째 성과를 ER 2013 conference in Hong Kong에서 발표합니다.
이러한 부분은 그냥 Dataflow programming이 무엇인지 소개하는 쪽이 좋지 않을까요? SICP나 CTM 등 아주 좋은 책들을 통해서 쉽게 개념을 정립하고, 프로그래밍에 접근할 수 있다고 보여지는데요.
비지니스 솔루션들은 쓸데없이 복잡하게 소개되는 경향이 많습니다. 뭐, 그렇게 해야 비지니스가 되겠지만, 이쪽 방면은 좀 지나치다는 생각이 듭니다.
결국 금융 IT소비자들은 ROI에 민감할 수 밖에 없는 사람들이고, 이 사람들이 지나치게 많은 비용을 지불하게 만드는 건 좋은 전략이 아닌 듯합니다.
일단 잘 정립된 전산이론의 토대를 소개하고, 필요에 따라 Java, Dotnet 등의 프레임워크나 패키지 소프트웨어를 취사선택할 수 있도록 하는 것이 좋다는 생각이 드네요.
음…저에게 너무 어려운 요구를 하시네요?(^^)
제가 읽으면서 머리속에 담은 단어는 ‘복잡하고 비용이 들어가는 코드’ 대신 ‘이벤트 모델’이라는 부분입니다. 구체적으로 들어가면 어떤 그림이 가능할지 잘 모르겠습니다. 흔히 Apama나 Streambase에 있는 workflow UI를 강조하는 것일지도 모르겠습니다. 어떤 의도를 하든 비싼 CEP제품을 사야 가능한 모델이라고 하면 알아서 의사결정하지 않을까 생각합니다.
Workflow 보다는 이벤트 유형에 방점을 두고 싶었습니다. 또한 Duckham의 블로그를 가끔 읽으면서 한번 정리해보고 싶었습니다. 그래야 제 머리속에 남아 있으니까요?