자본시장과 IT, 트레이딩전략

알고리즘트레이딩규제와 소스코드

0 344

2015년 말, CFTC가 자동매매시스템(automated Trading)에 대한 규제정책으로 내놓은 regAT. 미국 상원이 이에 대한 청문회를 열었습니다.

Public Hearing RE: Examining the CFTC’s Proposed Rule: Regulation Automated Trading

많은 쟁점을 담고 있지만 저의 관심사는 소프트웨어의 소스코드(Source Code)입니다. 소스코드와 관련한 규정은 AT의 개발단계에 대한 규제와 관련이 있습니다.

Development and Testing of Algorithmic Trading Systems. Regulation AT proposes a new requirement (§ 1.81(a)(1)) that each AT Person must implement written policies and procedures for the development and testing of its Algorithmic Trading systems. Such policies and procedures must at a minimum include the following:
(i) maintaining 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, modifying, and testing source code);
(ii) testing of all Algorithmic Trading code and related systems and any changes to such code and systems prior to their implementation, including testing to identify circumstances that may contribute to future Algorithmic Trading Events (s uch testing must be conducted both internally with the AT Person and on each designated contract market on which Algorithmic Trading will occur);
(iii) regular back-testing of Algorithmic Trading using historical transaction, order, and message data to identify circumstances that may contribute to future Algorithmic Tradin
g Events;
(iv) regular stress tests of Algorithmic Trading systems to verify their ability to operate in the manner intended under a variety of market conditions;
(v) procedures for documenting the strategy and design of proprietary Algorithmic Trading software used by an AT Person, as well as any changes to such software if such changes are
implemented in a production environment; and
(vi) maintaining a source code repository to manage source code access, persistence, copies of all code used in the production environment, and changes to such code (such source code repository must include an audit trail of material changes to source code that would allow AT Persons to determine, for each such material change: who made it; when they made it; and the coding purpose of the change. The source code must also be maintained in accordance with Commission regulation § 1.31)

청문회에 출석한 3명의 증인은 소스코드와 관련하여 반대하는 입장을 표명하였습니다. FIA의 Greg Wood입니다.

Download (PDF, Unknown)

Thirdly,SOURCE CODE.The Source Code requirement for unfettered access to any firm’s intellectual property as proposed is unprecedented among regulators and threatens
commercially valuable intellectual property and proprietary trading strategies.The Source Code requirement in the proposed rule puts highly proprietary information at risk without measurable benefits. Required production of Source Code should only be available through a legal process where an owner of Source Code has the right to petition a court for appropriate protection. There is no sufficient set of access conditions (e.g., onsite review, tracking who reviews Source Code, etc.) that would adequately offset the dire potential commercial consequences of requiring production of Source Code absent the protection of legal process

Download (PDF, Unknown)

두번째 증인인 RGM Advisors의 Richard Gorelick도 강하게 소스코드정책을 반대합니다.

The final concern I would like to raise today is the CFTC’s proposed access to source code. The proposed requirement to turn over valuable intellectual property (IP) to the government on demand is simply unprecedented and unreasonable. The proper treatment of IP lies at the heart of our private enterprise system. As noted by CFTC Commissioner Giancarlo in connection with the issuing release for Reg AT, the secret formula for Coca Cola is not available to the FDA, certainly not on demand. The source code for Google’s search algorithms is not available to the government without due process. Government agencies must make a reasonable showing of cause and get a proper court order, such as a subpoena, to gain access to intellectual property. A trading firm’s source code should be no different. Most modern trading firms are very much technology businesses. Many of our staff write software, and our source code constitutes important trade secrets and valuable IP about our future business plans. Modern trading firms invest significant time, effort and money in technological innovation, much of which is embodied in source code, and they go to great lengths to protect its confidentiality and their competitive edge. Not only would this proposed provision set a troubling precedent for government access to private information, but it would do so without any demonstrable regulatory benefits to offset the significant risk associated with the misappropriation of that intellectual property. Proposed Reg AT would accomplish this unprecedented access by classifying source code as “books and records” which would make them available to the Commission and the Department of Justice upon request. Source code, however, is unlike other books and records such as trade blotters and similar records, which can be reasonably protected with standard confidentiality. Source code often is comprised of valuable trade secrets that represent substantial investment and innovation and can directly impact the competitiveness of a business.

제가 이해하는 쟁점은 소스코드와 관련한 개발프로세스가 아닙니다. CFTC가 정당한 법적 절차 – 법원의 영장 – 없이 소스코드에 접근할 수 있는 권한을 가지는 것을 반대합니다. 반대로 해석하면 이를 제외한 개발프로세스를 반대하지 않습니다.

1)운영환경과 분리한 개발환경을 구축할 것
2)소스저장소를 통하여 소프트웨어의 소스를 관리할 것
3)정기적으로 백테스트를 실시하고 이와 관련한 결과를 보관할 것

사실 소프트웨어를 개발하는 사람이라면 이상의 조건을 특별하지 않습니다. 그런데 자동매매트레이더로 넘어오면 사정이 달라지나 봅니다. 여의도에서 자동매매를 하는 분들중 위와 같은 조건을 지키는 분들이 얼마나 될까요? 혹 개발프로세스가 없다고 하시면 아래와 같이 환경을 만들어보시길 바랍니다. 우선 Git가 힘들다고 하시면 Subversion을 이용하여 내부의 소스저장소를 만드시길 바랍니다. 리눅스와 같은 환경이면 쉽지만 윈동일 경우 VisualSVN을 이용하시길 바랍니다. 무척 간단합니다. 저장소와 그룹 및 이용자관리 모두 GUI로 이루어집니다. IDE를 통하여 소스저장소와 연결할 때 HTTP를 이용하시면 충분합니다. 개발프로세스중 소스저장소만큼 중요한 것이 이슈관리시스템입니다. 앞서 CFTC의 규정중 변경관리와 관련한 부분이 있습니다. 이를 체계적으로 관리하려면 이슈관리시스템의 도입이 중요합니다. 보통 Jira를 사용할 수 있지만 비용이 문제라고 하면 오픈소스인 Redmine을사용하시길 바랍니다. Redmine의 문제는 설치입니다. 간단히 설치하는 방법은 Bitnami Redmine입니다. Ruby, MySQL등을 한번에 설치합니다.

마지막으로 청문회자료중 재미있는 도표가 있습니다. FIA의 자료에 있는 그림입니다.


About the author / 



최신 댓글


  • ElementaryO를 사용중인데 금융때문에 Virtualbox를 이용하여 ReactOS를 설치. 윈도우 대용으로 사용하려고 했지만 IE를 설치할 수 없고 불편한 것이 많네요. 아직은 윈도우XP를 설치하는 편이 좋을 듯.

    43 minutes ago
  • 과천 중앙공원에서 1인시위를 한 고등학생들에 폭행을 한 박사모. 탄핵반대를 존중하지만 주장을 폭력적으로 강요하고 반대하는 이들에게 폭행하는 것은 용서할 수 없습니다. 인간에 대한 예의가 아닙니다. 예의앞에서 나이는 그저 숫자입니다.

    3 days ago
  • 작년 8월부터 금금금으로 이어져온 프로젝트 그리고 두 달동안의 프로젝트 제안작업. 어제 제안설명회로 마침표를 찍었습니다.오늘은 나를 위한 휴가. 그런데 집안 일이 산더미네요. ㅠㅠ

    4 days ago
  • 세계는 넓고 할 일은 많다. 우주는 무한하고 지구는 많다. 그래서 인간만이 유일한 지적 생명체라는 생각은 오만일 수도. https://t.co/Q91ZtRocCm https://t.co/gpG4Fd50Us

    4 days ago
  • 국빈방문을 반대하는 영국시민들의 Dump Trump. 박근혜탄핵과 비슷하네요. https://t.co/rzS1fl7COz https://t.co/1ObHHcID4B

    5 days ago