안녕하세요?

 

지난번 포스팅에서 어떻게 키움증권 서버에서 부터 주식 종목의 코드 리스트를 가지고 오는 데는 성공했는데, 문제는 이걸  txt파일에 제대로 저장을 해야 하는 과정이 아직 남아 있다는 것 입니다. 그래서 이번 포스팅에서는 이 과정에 대해서 한번 포스팅을 해 보고자 합니다.

먼저 지난번 시간에 일단 리스트 형태로 되어 있는 형식의 지료를 키움증권 서버로 부터 받았는데, 문제는 이걸 그대로 집어 넣을 수는 없기 때문에 일단 str을 사용해서 문자열로 만들어 주도록 합니다.

이렇게 해서 일단 텍스트 파일에 저장을 하는데는 성공했는데, 문제는 여전히 List형식을 따르고 있어서 이대로는 제대로 된 작업을 할 수 없다는 한계가 있습니다.

그래서 하는 수 없이 일단 위 스크린샷처럼 join()을 이용해서 우선 ' ' 을 제거하도록 하는 과정을 밟도록 합니다. 이렇게 해서 문제가 해결되리라 희망을 했습니다만........

그런데 이렇게 했더니, 위 스크린샷처럼 저장이 되기는 되는데, 문제는 주식 종목의 코드들이 완전히 떨어져서 깨어지는 것을 볼 수 있었습니다.

 

 

그래서 일단 join()을 문자열로 바꾸는 코드 직전에 리스트 상태일때 적용시켜 주도록 바꾸어 줍니다. 이렇게 하는 것으로 어떻게 바뀌었는지 보면.....

이렇게 해서 일단 위 스크린샷처럼 제대로 제 의도대로 주식 종목 코드를 가지고 오는데 성공할 수 있었습니다. 이렇게 하는 것으로 일단 텍스트 파일에 저장 자체는 쉽게 되는 것으로 생각이 됩니다.

다음은 위 스크린샷처럼 이제 새로 만들어 놓은  평균회귀 테스트의 부모 프로세스의 내용을 바꾸어 보고자 합니다. 일단 처음으로 한 내용은 기존에는 키움증권 서버에서 일일히 가지고 왔는데, 그러지 말고 이번에는 방금 txt파일에 저장한 내용을 읽어 와서 리스트로 다시 바꾸는 작업을 하도록 만들어 줍니다.

이렇게 해서 위 스크린샷처럼 우선 코드 리스트를 가지고 오는 데 성공하긴 했는데, 일단 조금은 손을 볼 필요성이 있어 보이기는 합니다.

 

먼저 갓 만들어 낸 리스트에서 0번째 요소인.... 뭐라고 해야 할까요? 전체 묶음이 무슨 한개의 요소처럼 취급이 되어 있어서 이를 선택해야만 합니다. 그리고 나서 각각의 사이클당 선택한 첫번째 요소에서 이제 0번째 종목코드부터 하나하나 선택할 수 있는지 살펴 보도록 합니다.

일단 이렇게 해서 제 의와는 약간 다르기는 하지만, 우선 증가하는 숫자가 없다는 것을 감안하면 이렇게 계속 같은 종목의 코드만 선택이 되는 것도 가능한 일이기는 합니다.

그리고 이전에는 일단 800까지로 임의로 만들어 놓은 한계선을 그냥 쓰지 말고, 리스트의 길이를 len()함수를 써서 구하고, 이를 바탕으로 일단 만들어 주도록 합니다.

그리고 나서 기존의 for loop에서 사용하고 있던 800이라는 숫자를 위 스크린샷처럼 바꾸어 주도록 합니다. 이렇게 하는 것으로 일단 작업을 일단락 하도록 합니다.

이렇게 하는 것으로 위 스크린샷에서 보이는 것처럼 일단 18개만 있는 종목의 리스트에서 제대로 작업이 이루어 지는 것을 볼 수 있기는 있습니다. 이렇게 해서 주식 종목의 코드 리스트를 가지고 오는 프로그램을 완성했고, 다음으로 해야 할일은 이를 바탕으로 평균회귀 테스트를 들어갈 수 있느냐 없느냐 입니다.

+ Recent posts