티스토리 툴바



Stock Prediction Simulation


to 귤꼭지:
다음은 Stock Prediction SImulation에 대한 개념적 설명이다.


아래 curve가 꼭 베지어일 필요는 없다.
앞선 글에서처럼, B-Spline이나 NURBS 모델을 적용해보는 것도 좋은 방법이라 생각된다.
Curve 함수는 어느 것이 좋을까는 SImulation을 여러번 돌려가면서 성능이 좋은 것을 선택하면 된다.




    






위의 Simulation을 1년이나 3년치에 대하여 위의 알고리즘대로 Predict 하면서 매일의 적중률을 %로 기록하고, 베지어 quadratic, cubic, b-spline, NURBS 등의 다양한 Curve를 적용해보면서 그 중 적중률이 높은 Curve를 우리의 Best Curve로 선택하면 된다.

이상이 Simulation 방법이었다.

자, 이제 실제로 투자(invest)는 어떻게 해야 할까?
Invest 방법은 나중에 글로 올리마.
Invest는 Simulation과 달리 저점에서 사고 고점에서 파는 simple한 LAW를 도입해보려고 한다.






Comment 9 Trackback 2
  1. 귤꼭지 2008/11/07 11:19 address edit & delete reply

    아래 트랙백을 해두었습니다. 복사해간 첫 페이지는 삭제하세요. 중복을 피하는 방법중... 트랙백을 쓰면 편리합니다.

  2. 귤꼭지 2008/11/07 11:21 address edit & delete reply

    적용할 수 있는 곡선에는 어떤 것이 있을까요?

    • 나무달 2008/11/07 13:20 address edit & delete

      quadratic 베지어, cubic 베지어, b-spline, NURBS등 곡선은 많다고 생각한다.
      그 중 우선 계산이 쉬운 것부터 적용해보면 어떨가?
      그리고 resonable한 결과가 나온다면, 더 복잡한 곡선들을 대입시키면서 실험해 보면 좋을 것 같다고 생각해.
      저 위의 4개 중에선 NURBS가 가장 진보적 curve라고 생각하지만, 수식이 복잡하지 않을까?
      아직 수식 레벨까지는 내가 파고들어보지 못했다.
      시간을 내서 그 부분에 대해서도 좋은 함수를 찾아보도록 하마.

  3. 귤꼭지 2008/11/07 11:22 address edit & delete reply

    베지어 곡선의 특징이 무엇인지를 아셔야 그 다음 단계를 제가 설명할 수 있습니다.

  4. 귤꼭지 2008/11/07 11:24 address edit & delete reply

    머.. 귤꼭지도 괜찮겠네요.

  5. 귤꼭지 2008/11/07 11:26 address edit & delete reply

    step2의 곡선이 어떻게 생성되었는지를 설명해주세요. 그 부분이 먼저겠습니다. 어떤 베지어를 썼는지요? 2차 갔지만... 점의 위치로 봐선.. 아무래도 다른 점을 끌어들인것 같은데.. 그 부분의 설명이 빠져있네요. 이해할 수 없는 베지어 곡선입니다.

    • 나무달 2008/11/07 13:16 address edit & delete

      저 곡선은 내 직관대로 그린 것이야.
      아마 2차이상(2점간의 연결 이상)의 베지어를 고려해야 저런 곡선이 나올거야.
      즉 다수의 꼭지점을 지나는 가장 "자연스러운" 곡선을 나의 상상으로 그린 것인데,
      내가 들은 수학적 함수로 말한다면, NURBS모델을 도입할 경우 가장 자연스러운 곡선이 나타나는 것으로 알고 있다.
      아직 수학적 함수적용까지는 진도가 못나갔다.
      난 함수적용 이전에 시뮬레이션의 방법론 concept에 대해서 우선 논의하고 있는 것이거든.
      만일 세부 함수까지 적용해달라고 한다면, 그 전에 시뮬레이션 코딩 인프라를 먼저 갖추는게 먼저가 아닐까 싶다.
      물론 세부 함수의 사용법도 중요한 부분이지만, 그 전 단계에 대해 서로 먼저 확인하고 싶은거야.

  6. 귤꼭지 2008/11/07 11:27 address edit & delete reply

    이 글을 제가 쓴 글에 트랙백해보세요!!

    • 나무달 2008/11/07 13:33 address edit & delete

      그게 어떻게 하는거지?
      좀 가르쳐 줘. --;

Trackback : http://oharinth.tistory.com/trackback/2 관련글 쓰기

  1. oharinth 형님과 베지어곡선(Bézier curves)

    다홍다홍 | 2008/11/07 11:17 delete

    oharinth 베지어 곡선을 이용한 투자 알고리즘을 구상할 수 있는데... 좀 더 구체적인 코딩으로 표현할 수도 있지만, 중요한 원리만 얘기해본다면, 가: Analysis Scale의 정의 1. time unit을 정한다. ( 즉, tic 단위냐 아니면 초 단위냐, 분, 시, 일단위 냐는 time slice의 크기를 정한다. ) 2. time unit에 맞게 그래프를 구성한다. 즉 time unit별 꼭지점을 찍어 직선으로 잇는다. 3. 꼭지점들..

  2. oharinth의 베지어곡선(Bézier curves) II

    다홍다홍 | 2008/11/07 12:01 delete

    oharinth: 답글은 oharinth 블로그에 올려놨다. http://oharinth.tistory.com/ 주가 시뮬레이션은 블로그에 올렸는데, 이미지가 사이즈가 제멋대로 나온다. 그래서 그 내용은 이 메일에 액셀로 첨부했으니 이걸 읽어봐줘. 주가 시뮬레이션의 직관적 이해가 될거야. 단, 도대체 무슨 베지어 펑션을 쓸겁니까? 라고 묻는다면, 써보고 좋은 걸로 라고 답해줄 수도 있을텐데... 베지어보단 NURBS가 좋은 것 같다. 최적의 Spli..

Top

Stock Prediction with oharinth & sbpyun Chapter 1.

oharinth
베지어 곡선을 이용한 투자 알고리즘을 구상할 수 있는데...
 
좀 더 구체적인 코딩으로 표현할 수도 있지만, 중요한 원리만 얘기해본다면,
 
가: Analysis Scale의 정의
1. time unit을 정한다.  ( 즉, tic 단위냐 아니면 초 단위냐, 분, 시, 일단위 냐는  time slice의 크기를 정한다. )
2. time unit에 맞게 그래프를 구성한다.  즉 time unit별 꼭지점을 찍어 직선으로 잇는다.
3. 꼭지점들 사이의 직선을 베지어로 변환한다. (D-Spline 등 베지어 곡선 알고리즘 이용)

sbpyun:
1. time unit=날짜 로 해봅시다.
2. (day, close price)로 꼭지점을 2차원 평면위에 올린다. 그리고 꼭지점을 직선을 잇는다. (linear Bézier curves)
3. quadratic Bézier curves  이겠지요? 아니면? cubic? 그보다 높은가요?

 
oharinth:
1과 2는 동의한다.
3. 은 여러가지 베지어 곡선이 존재하는 것으로 안다. 예를 들면 NURBS같은 베지어보다 더 진보된 Curve를 이용하는 것도 좋은 방법이라고 생각한다. 반드시 베지어로 제한하자는 건 아니야.
다만 베지어가 기본적인 curve 계산법이기에 예로 들어본 거야.
B-Spline을 써보면 어떨까 한다. (위에서 내가 D-Spline이라고 오타를 쳤다.)

B-Spline과 NURBS에 대한 쉬운 개념 설명은 아래 사이트에서 정보를 얻었다.
http://swguru.egloos.com/1523438

여길보면 다음과 같은 설명이 나온다.
이 그림은 시작점과 끝점, 네 개의 조정점으로 이루어진 B-SPLINE 곡선인데, 베지어 역시도 이론만 가지고 따져 보면 조정점을 두 개보다 많이 가질 수는 있지만 앞에서 말했던 것처럼 그 가운데 단 한 개의 점만 움직여도 곡선 전체가 변하기 때문에 최소 숫자인 두 개만을 쓰는데 반해 B-SPLINE은 여러 개의 조정점을 가져도 각각이 영향을 미치는 구간이 제한되어 있기 때문에 여러 조정점을 한 패치에 한꺼번에 쓰는 경우가 많습니다. 또한 시작점과 끝점이 곡선 위에 있는 베지어와는 달리 B-SPLINE은 V0와 V5가 점 위에 있지 않습니다. 그렇다고 반드시 떨어져 있는 것은 아니며 적절한 방법으로 시작점과 끝점이 곡선 위에 있도록 만들 수도 있습니다. 정확하게 말하면 B-SPLINE은 베지어를 포함하고 있으며, B-SPLINE 곡선을 특정한 형태로 제한해 보면 베지어와 같은 특성을 갖게 할 수도 있습니다. 이 B-SPLINE은 NURBS가 나오기 이전에 CG에서 구현되는 최강의 SPLINE이었습니다

위에서도 중요한 대목은 아래와 같다.
 B-SPLINE은 여러 개의 조정점을 가져도 각각이 영향을 미치는 구간이 제한되어 있기 때문에 여러 조정점을 한 패치에 한꺼번에 쓰는 경우가 많습니다.

즉, B-Spline이나 NURBS를 우리 Prediction 에 활용해보면 어떨까 한다.


나: 베지어 Prediction 수행
4. 자, 지금부터는 Prediction의 절차다.
  현재(Current time) 꼭지점의 그 다음 꼭지점(Next time)의 예측지점(Prediction Value)을 베지어 알고리즘을 통하여 얻어낸다.
5. Next time의 실측값과 예측지점(Prediction Value)가 얼마나 일치하는지 차이를 기록한다.

sbpyun:
4. quadratic Bézier curves인 경우 세개의 점으로 곡선이 결정됩니다. 그런데 현재꼭지점과 다음 꼭지점을 어떻게 약속(정의)하셨는지요? 그리고 어떻게 예측지점을 두점으로 부터 얻어내는지요? oharinth의 베지어 알고리즘을 이해하기 힘드네요.
5. 실측값은 time unit을 날짜로 하고 quadratic Bézier curves 으로 예측지점을 판단해 낸다면 4일째되는 꼭지점의 close price를 의미하는지요?

 
oharinth: 위에서 설명했듯이, 4일째든 5일째든 6일째든 B-Spline이나 NURBS를 적용한다면, 꼭지점의 갯수는 그다지 중요하지 않다. 왜냐하면 위의 예문처럼 각 구간에 대한 영향도가 제한되어 있기 때문이야.

다: Result 통계
6. Prediction의 적중률이 얼마나 높은지 통계 낸다.
7. 실측값과 예측지점의 유사성을 %로 통계내면 됨

sbpyun
6. & 7. oharinth의 베지어 알고리즘을 이해한 후에 해보지요.

 
위 방법은 베지어 예측 알고리즘이 얼마나 뛰어난지 검증할 수 있는 시뮬레이션 즉 가상실험이 가능하다고 생각된다.
용수철 상수를 이용한 역학적 투자법은 나중에 따로 설명하도록 하마.


oharinth의 계획에 관한 sbpyun의 답 올림.



-------------------------------------------------

자, 이제 다음 글에서 내가 너에게 제안한 SImulation을 좀 더 직관적이고 구체적인 그래프로 설명을 해보마.

Comment 0 Trackback 0

Trackback : http://oharinth.tistory.com/trackback/1 관련글 쓰기

Top

prev 1 next