1.
FIA란 조직을 아시나요? Futures Industry Association의 약자니까 우리로 말하면 예전 선물협회쯤 됩니다. 대부분 국내 업종별 협회는 정부의 권한을 위임받아 집행하는 반관반민이지만 해외는 다른 듯 합니다. 시장과 정부의 역관계가 다르기때문입니다. ?FIA가 하는 일중 저도 관심을 갖는 것이 특정한 사안에 대한 권고(Recommandation)입니다. ZeroAOS의 요건을 정의할 때 FIA의 Risk Control Recommandation을 가능하면 최대한 수용하였습니다.
얼마전 FIA가 자기거래 트레이딩을 하는 기업들을 위한 자료를 발간하였습니다. 국내로 말하면 증권사, 선물사 , 투자자문사 등을 위한 자료라고 할 수 있습니다. 자료를 발간한 이유를 이렇게 설명합니다.
Software is at the core of many business critical activities within FIA PTG & EPTA member firms. For a firm to meet its regulatory obligations and manage and monitor risks, its trading software and technical infrastructure need to work as intended. To support trading firms in meeting this objective, the joint working group has developed best practices for software development, testing, and change management. These best practices will assist trading firms in developing their own procedures related to software development.
트레이딩도 고유한 원리가 있듯이 소프트웨어도 고유한 원리가 있습니다. 소프트웨어 개발이 단순 노동이 아니라 엔진니어링인 이유입니다.
2.
최근 증권사 프랍트레이딩 부서가 알고리즘 트레이딩이나 자동매매에 많은 관심을 갖는 듯 합니다. 이를 위해 외부시스템을 어떻게 도입할지, 혹은 어떻게 조직을 만들지 등을 고민한다고 합니다. 그렇지만 어떤 경우라 하더라도 알고리즘을 외부에 공개하지 못하는 조건이면 자체적인 IT프로세스를 만들어야 합니다. 내부에 소프트웨어 전문가를 채용하여 부서차원에서 전략을 개발하고 운영하는 방식을 택하든, 개별로 전문가와 협력하여 개발 및 운용을 하든 그것은 선택 사항입니다.
그렇지만 최소한 팀단위 작업이라고 하면 앞서 FIA의 자료를 적극적으로 검토하시길 바랍니다. 소프트웨어 개발 및 운용에 관한 핵심이 다 들어가 있습니다. 다른 부분은 IT부서의 도움을 받아야 하는 일이지만 소프트웨어 개발, 특히 전략 개발은 자체적으로 해결하여야 하는 경우라 유념해서 살펴보시길 바랍니다.
Development Environment Firms should maintain a development environment that is adequately isolated from the production trading environment. The development environment may include computers, networks and databases and should be used by software engineers while developing and testing new source code.
Source Code Management Firms should maintain a source code repository to manage source code access, persistence, and changes. The source code repository may be used to ascertain when software changes were made and the nature of the changes.
Risk Controls Firms should implement software based risk controls that are independent from the trader in order to reduce the risk of market disruptions due to system failures or errors (see FIA PTG Recommended Risk Controls).
Source Code Review When appropriate, firms should have a process describing how software engineers may have their source code reviewed and how that review may be conducted.
네가지 범주의 프로세스를 수행하는 트레이딩부서가 없을 듯 합니다. 아마 무슨 말이지 모르는 경우도 많겠죠. 그렇지만 소프트웨어가 차지하는 비중이 커지면 커질 수록 중요합니다. ?현재 ‘ZeroAOS를 위한 개발환경’에서도 위와 같은 내용을 어떻게 시스템적으로 적용할지를 다룰 예정입니다.
혹 시간이 나시면 ‘소프트웨어 개발의 모든 것‘을 방문하여 글을 읽어보시길 바랍니다. 소프트웨어 개발에 대한 다른 생각을 주리라 믿습니다.