커뮤니티
내가 만든 전략들과 지식을 공유하고 토론합니다.

질문 2개

Atkins 2018.03.24 12:03 조회수  321 추천 0

1.시뮬레이션 속도를 더 빠르게 할 수는 없나요?

컴퓨터 부품을 바꾸면 더 빨라질 수 있는지, 브라우저나 인텔리퀀트 시스템 자체의 한계 때문에 어쩔 수 없는건지 궁금하네요


2.특정 주식을 리밸런싱 없이 계속  보유하게 할 수 있나요?

어떻게 하는지 알려주시면 감사하겠습니다

댓글 1
인텔리퀀트를 애용해 주셔서 감사합니다. 간략히 답변 드리겠습니다.

1. 시뮬레이션 속도
  시뮬레이션 속도는 2가지 측면에서 관련이 있습니다. 하나는 서버 성능이고, 다른 하나는 작성하시는 코드의 효율성입니다.
 서버 성능은 저희가 서비스 제공에 사용하고 있는 서버의 사양에 따라 어쩔 수 없이 제한을 받는 부분인데, 현재 무료로 서비스를 제공해 드리는 상황에서는 사양을 올리는데 한계가 있습니다. 향후 사용자별로 높은 사양의 서버 할당이나 실전투자 연계 서비스 등의 보다 개선된 서비스를 유료로 제공하는 부분에 대해서 고민하고 있습니다.
  한편, 코드를 비효율적으로 작성하여서 생기는 속도 저하도 주요 원인 중의 하나입니다. 예를 들면, 가장 시뮬레이션 속도에 가장 영향을 미치는 코드 중의 하나는 시뮬레이션 하는 진행 시점 대비 종목별 과거 데이터를 메모리에 로드해서 계산하는 부분, 즉 loadPrevData() 함수를 사용하는 위치입니다. 모든 상장 종목들에 대해 매번 과거데이터를 호출하도록 하기보다는 어느 정도 종목들이 필터링된 후에 그 이전 특정기간동안의 재무데이터나 시세 데이터가 계산에 필요한 종목에 대하여만 loadPrevData() 함수를 사용하시는 것이 속도 향상에 좋습니다.

2. 리밸런싱되지 않게 하기
  도움말 내용이 아직 부족한 점이 많긴 하지만, 현재 제공되는 도움말을 잘 참조해 보시면 Basket과 그에 관련된 변수/함수들이 포트폴리오 구성 종목을 정기적으로 교체하기에 편리하도록 제공해 드리는 것임을 알 수 있습니다. 
  리밸런싱을 아예 안 하고 특정 종목의 보유를 테스트해 보고 싶으시면, Basket을 사용하지 마시고, 직접 계좌에 주문을 내는 방식으로 하시면 됩니다. 만일 리밸런싱을 정기적으로 하지만, 특정 주식은 무조건 보유하게 하고 싶으시면, portfolioBuilder 함수를 작성하실 때, 해당 주식을 무조건 리턴 배열에 제일 먼저 push 해 넣으시면 될 듯 합니다.

충분히 답변이 되었기를 바라면서, 혹시 더 궁금하신 부분 있으시면 언제든지 또 올려 주세요. 
감사합니다.

인텔리퀀트 2018.03.26 11:48
댓글 등록을 위해서 로그인해주세요.
 
최신 게시글