Trading System2009/12/29 00:18
Trading System의 기본형이 완성되어 첫번째 실전 투자를 실행하였다.



이번에 새로 설치한 서버의 도움이 컸다.


이로서 중간계 맵에서 아이젠가드 쯤 와있지 않나 싶다.

이제 실적을 통계내고 열매를 거두는 일이 남았다.
또한 알고리즘을 진화시켜 수확을 더욱 풍성하게 하는 일이 남았다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 나무달

TRACKBACK http://lab.namudal.com/trackback/75 관련글 쓰기

댓글을 달아 주세요

Trading System2009/11/09 00:37

그래프를 구현하여 추세를 직관적으로 이해할 수 있도록 하였다.

추가된 기능:
- 그래프 기능
- 기간별 화면에서 일별 그래프로 더블클릭으로 View가 가능
- DB 접속 파라미터를 UI에서 받을 수 있도록 수정

프로그래밍 상의 일부 구조 변경:
- 외부객체A에서 Form UI에 설정된 값을 직접 가져올 수가 없어 곤란을 겪었다. -> 외부객체B의 Static 변수를 Null 로 선언해 두고 Form에서 그 Static 변수에 값을 넣어 해결하였다.  


확실히 그래프의 관찰 덕분에, 보완할 수 있는 추가 알고리즘들이 상상되었다.
보완 알고리즘을 통한 Analyzing을 시도할 필요가 있다.

아래 2단계 1)을 마무리 하고 이제 2)로 넘어가는 중이다.

1) Analyze DB ( Build Basic Algorithm )
  - Option: Graphic UI
2) Trading Algorithm
3) Trading Log Recorder

이 Mission의 마지막 단계에 도달해 가고 있다.
흥분되고 그만큼 신중을 기해야 하는 시점이다.

- oharinth


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 나무달

TRACKBACK http://lab.namudal.com/trackback/72 관련글 쓰기

댓글을 달아 주세요

  1. 추세선들이 재미 있네요.. 추세선 시작 점은 임의로 했는지가 궁금하네요. 추세선의 기울기는 우리가 만들어낸 알고리즘에서 구한 것이겠죠?

    2009/11/09 09:50 [ ADDR : EDIT/ DEL : REPLY ]

Trading System2009/11/07 16:57

믿을 만한 통계적 분석을 찾기란 쉽지 않습니다. 통계가 가지고 있는 몰자료성의 특징도 문제입니다만 분석자의 공평하지 못한 판단력이 가장 큰 문제라 생각됩니다.



통계적 분석은 기술적 분석과 추론적 분석으로 분류됩니다. 추론적 분석이 고급 통계 분석이라 하고 기술적 분석은 단순 계산 분석이라고도 할 수 있습니다. 랩에서는 단순한 분석에 치중되어 있습니다.


      

나무달랩에서는 자료를 기술적으로 분석하고 있습니다. 기술적 분석의 결과는 다양한 추론과 상상력을 불러일으킵니다. oharinth도 매우 흥미롭게 분석자료를 검토합니다. 우리는 분석의 재미에 빠지기 보다는 이윤을 내야 하는 냉험한 현실위에 있습니다. 바람도 차갑고 겨울은 코앞에 있습니다. 그래서 달나라로 향하는 oharinth의 옷자락을 꼭잡고 있으려 합니다.



자료분석에서 항상 부딪치는 문제중에 하나가 자료처리 속도입니다. 많은 컴퓨터가 있으면 좀 더 좋겠으나 현실적인 문제로 제한된 환경에서 최대한 빠르게 계산하고자 합니다. 또 효율적인 프로세스입니다. 타당한 가설과 단순화된 시스템이 효율적인 프로세스를 만들어 줍니다. 복잡한 계에서 단순한 계로의 빠른 전환이 필요하고 놓치는 자료들의 가치판단을 할 수 있어야 합니다.



Correlation 기법 개발에 관해 Oharinth가 언급하였습니다. 이미 개발된 기법을 충분히 활용하여 종목간, 시간구간별, 기초금융상품 지수별 상관계수에 관심을 두고 있습니다. 금융에 관심을 가진 사람이라면 변동성(Volatility)뿐 아니라 상관관계(Correlation)은 입에 달고 살아야 합니다. 그래야 먹고 살 수 있다고 하더군요. 그만큼 상당히 주요한 요인인 상관관계를 가지고 우리만의 기법(A Secret Method)?을 발견해 낼 수 있기를 바랍니다.



통계기능 강화는 우선 통계 계산의 시스템을 단순화시키고 속도를 높이면서 안정화시키는 것이 포인트입니다. 현재도 상당히 안정된 시스템이지만 계속 발전해야 한다고 봅니다.



Oharinth가 말하는 단어들에 모두 답할 수가 없네요. 우선 너무나 큰 주제들이 많은지라..ㅋ 언제나 그렇습니다만, 꿈꾸는 아저씨들이라 고생이 많습니다. 천천히 다듬어진 답을 할 수 있기 바랍니다.




sbpyun씀.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 귤꼭지

TRACKBACK http://lab.namudal.com/trackback/71 관련글 쓰기

댓글을 달아 주세요

  1. 아래에 적어 본 장기적 기법들은 그다지 달나라로 갈 정도로 불가능해보이지는 않는다.
    물론 수학적으로는 너의 도움이 많이 필요한 것들이지만.
    정말 달나라로 갈 정도의 상상력은 주식 시장의 범주를 뛰어넘는 다른 사업들의 영역이다.
    내가 걱정하는 건 범주를 뛰어넘어버리는 것인데, 일단 주식 시장이라는 울타리 안에서 최대한의 효율을 내고자 노력하고 있다.
    패턴 분석, Event Driven, Correlation 은 수학적 테두리 그리고 Programming의 영역으로 충분히 다룰 수 있다고 생각한다. 별로 효과는 없지만 야후 파이낸스 같은 곳에서도 유치한 수준의 패턴은 이미 사용되고 있다. Correlation도 이미 경제학에서는 일반화되어 사용하고 있고...
    다만 우리가 하려는 건 그런 기존의 방식과는 다르다는 점에서 특별한 부분은 많이 있지만, 아폴로11호를 보내야 할 정도로 난해한 일은 아니라고 생각한다.
    AI를 구현하는 일 정도로 넘어가야 좀 달나라라는 이야기가 성립되지 않을까.
    주식에서도 AI를 사용해야 합니다라는 말은 물론 가능하겠지만.. 사기꾼들이 주로 그런 이야기를 많이 쓰는 걸로 알고 있다.
    둘은 좀 다른 분야라고 생각해.
    내가 원하는 건 이 얄팍한(?) 주식 프로젝트를 잘 만들고 나서, 정말 달나라에 대한 진지한 연구를 해보는 것이다.

    - oharinth

    2009/11/09 01:15 [ ADDR : EDIT/ DEL : REPLY ]

Trading System2009/11/03 22:03



며칠간 랩에서 디버깅과 씨름을 했다.
그리고 수익률 개선을 위한 알고리즘 아이디어를 몇가지 만들어 내었다.

과거 데이터에 대한 Analysis 와 Prediction Algorhithm의 오류 점검 및 검증을 완료했다.

나는 Visual C#을, 귤꼭지군은 MatheMatica의 소스를 보완하였다. 이로 인해 수익률에 변화가 생겼으나 오히려 긍정적인 것 같다. 
추가적인 Simulation을 진행 중이다. 
증거금율과 수수료, 거래세에 대한 논의를 했다.

앞으로 해야 할 일:

단기:
  * 통계기능 강화
  * 수수료/세금의 반영
  * delta won / delta t 를 변화시켜가며 Simulation하기
  * 급락에 대비한 Risk Handling 알고리즘 추가. (Calculation 구간에 대한 flexible한 대응)

장기:
  * 주기 기법 적용
    - 다중적 Scale Level의 주기 분석 기법 적용
  * 패턴 기법 적용
    - 하루를 기준으로 한 여러 날들의 Day Pattern을 중첩시켜 Average Pattern을 만들고 이를 활용하기
    - 특정 패턴에 대한 유사 패턴의 검색 기능 개발
    - Event Driven 기법과 패턴 기법을 적용시킴
  * correlation 기법 개발
    - 다우지수, 환율, 유가 등 주요 Cause and Effect Factor를 Prediction Algorithm에 반영하기
  * Event Driven Investment 의 통계 기법 정립 및 그 적용 
 
또한 아래 2단계 1)을 급선무로 완료해야 한다.
1) Analyze DB ( Build Basic Algorithm )
  - Option: Graphic UI
2) Trading Algorithm
3) Trading Log Recorder

- oharinth



크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 나무달

TRACKBACK http://lab.namudal.com/trackback/70 관련글 쓰기

댓글을 달아 주세요

Trading System2009/10/28 22:54
며칠 전, 나무달 랩 사무실을 비운 사이 바퀴벌레들이 활개를 치는 끔찍한 상황이 발생했다.
대대적인 토벌 작업과 소독 작업을 벌였다.


토벌작업으로 작고한 바퀴벌레들의 넋을 삽화로 기려 주었다.

1단계 Trading System Analysis (DB Recording from Trade Server)가 마무리 되어 간다.

추가된 기능:
  - 멀티 종목에 대한 Recording 및 UI 추가 완료
  - DB에 날짜 필드 추가
향후 추가할 기능:
  - disconnect 시 자동 connect 기능
  - 복수 종목을 file로 load하는 기능
  - HTS의 다양한 함수 분석 후 반영   

이제 2단계로 넘어가야 하는 시점이다.
회의를 통하여 2단계를 세부로 아래와 같이 나누었다.

1) Analyze DB ( Build Basic Algorithm )
  - Option: Graphic UI
2) Trading Algorithm
3) Trading Log Recorder

2단계가 완료되면 이번 미션의 성패가 분명히 나타날 것으로 예상한다.

- oharinth



크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 나무달

TRACKBACK http://lab.namudal.com/trackback/69 관련글 쓰기

댓글을 달아 주세요

Trading System2009/10/20 22:25
StockCur 객체를 이용 DB에 실시간으로 저장하는 기능을 구현했다.
남은 것은 이를 조금 더 안정화 한 후 2단계 즉 Trading Algorithm으로 넘어 가는 것이다.


계획대로 프로젝트가 실현되기를 기대하고 있다.


코드 리뷰 휴 앞으로 미션 일정에 대해 이야기를 나누었다.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 나무달

TRACKBACK http://lab.namudal.com/trackback/68 관련글 쓰기

댓글을 달아 주세요

Trading System2009/10/14 01:46

이벤트를 등록해 주는 라인이 있어야만 정상적으로 동작이 되었다.


기초적인 기능, 실시간으로 변화되는 현재가를 보여주는 코드를 완성했다.

mStockCur.SubscribeLatest();
위 메소드를 사용하면 복수개의 종목에 대한 이벤트를 받아 오는 것도 가능하다.
이를 요긴하게 사용할 수 있을 것이다.
Unsubscribe를 사용하면 특정 종목을 이벤트 가져오는 것에서 제외할 수 있다. 

이제 받아온 현재가와 각종 정보를 DB에 저장시키는 기능을 이번주 주말까지 완성하는 것이 목표다. 
 
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 나무달

TRACKBACK http://lab.namudal.com/trackback/66 관련글 쓰기

댓글을 달아 주세요

Trading System2009/10/14 01:33
나무달 Stock Prediction 미션의 다섯 단계는 아래와 같다.
1. Trading System
2. First Trading with developed algorithm
3. Dll 만들기
4. Improved Interface
5. Simulation & Discussing


동기부여도 하고 현재의 위치를 알고 미션의 속도를 높히기 위해...
중간계 지도를 좀 활용해 보았다.


사실 지도 상의 기점은 아래와 같다.

1. 곤도르
2. 아이젠가드
3. 로한
4. 미나스 티리스
5. 모르도르 ( DOOM 산 )

사우론을 물리 치고 전쟁에서 이겨야 한다.
갈 길이 아직 멀다.
Middle Earth의 평화를 위해서 말이다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 나무달

TRACKBACK http://lab.namudal.com/trackback/65 관련글 쓰기

댓글을 달아 주세요

Trading System2009/10/10 03:33

충정로의 까페나루란 곳이다.
까페 주변 길가는 황량하지만, 이 까페는 따뜻함이 느껴진다.
특히 커피가 맛있었다.


이벤트 발생 시마다 값을 가져오는 m_StockCur 객체를 사용해보았다.
역시나 굉장히 단순하다.

장이 마감된 새벽 타임이라 테스트는 못해봤지만, 컴파일 상의 버그는 없었다.
아마 별 문제없이 실행될 것이다.

다음 스텝의 퀘스트는 아래의 것들이 될 것이다.
* 스레드를 이용하여 복수의 종목을 다루기
* 가져온 값들을 DB에 저장시키기
* 주식의 매수/매도 수행

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 나무달

TRACKBACK http://lab.namudal.com/trackback/64 관련글 쓰기

댓글을 달아 주세요

  1. awd

    이벤트 발생시 m_FutureCurr_OnReceived() 를 돌리라는 명령은 어디에..

    2012/01/30 11:00 [ ADDR : EDIT/ DEL : REPLY ]

Trading System2009/10/09 16:22

C#으로 정말 간단한 소스를 만들었다.
특정 종목의 현재가를 가져오는 것이다.


DSCBOLib 클래스만을 사용했다.
단, 클릭 후 m_StockMst.BloackRequest() 메소드 실행 후 딜레이가 생기는데 이에 따른 예외처리가 필요할 것 같다.

실행결과:

삼성전자의 10월9일자 현재가이다. (장마감 시점 가격)
어제 72만원대였던 것 같은데 하루 사이에 많이 오른 것 같다. 

StockMst 객체의 Request/Reply 방식을 이용한 간단한 테스트는 성공했다. 
다음 스텝은 StockCur 객체를 이용한 Subscribe/Publish 방식으로 실시간 이벤트로 현재가를 받아오는 코딩을 하고자 한다.

천리길도 한걸음 부터인 것이다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 나무달

TRACKBACK http://lab.namudal.com/trackback/63 관련글 쓰기

댓글을 달아 주세요