[퀀트 전략 파이썬으로 세워라]라는 책을 참고하여 Python 3.7 환경에서 마법 공식(Magic Formula)를 이용하여 주식 분석을 해보겠습니다. 코드를 실행하기에 앞서, 작업하려는 폴더 아래에 'magic_formula_data.xlsx' 파일을 저장합니다. 이 파일에는 기업들의 PER값과 ROA값이 저장되어 있습니다. 파일을 열어보면 다음과 같습니다. 그런 다음 이 파일을 tensorflow가 설치되어 있는 Python 3 환경의 Jupyter Notebook에서 실행하겠습니다. 우선 엑셀을 읽어오는 모듈인 xlrd를 import해줍니다. 설치되어 있지 않다면 미리 Anaconda Prompt에서 pip install xlrd 명령을 통해 설치해줍니다. 그런 다음 xlrd 모듈의 open_wo..
CentOS 7 를 Minimal iso로 설치했더니 텍스트 모드로 실행되었다. 텍스트 모드를 GUI로 변경하려면 다음과 같이 입력하면 된다. # yum -y groupinstall "GNOME Desktop" 꽤 시간이 걸려 설치되고 나면 다음과 같이 입력해준다. # ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target 그리고 CentOS를 재부팅 해주면 그래픽 모드로 실행이 된다! 더보기 참고 https://itsarang.tistory.com/235
주피터 노트북에서 pymssql로 데이터베이스와 연결하여 LSTM을 사용하는 코드를 작성하던 중, 다음과 같은 에러가 발생했다. ValueError: expected a simple type, a tuple or a list 에러가 발생한 코드는 cursor.execute("p_sa_resultdata_lstm_insert %s, %s, %d", data_list) 이 부분이었다. data_list = [('1', '2019-10-11', 0.046631027)] 였는데, 튜플의 마지막 값이 numpy.ndarray타입 배열로부터 가져왔기 때문에 float타입이 아니라 numpy.float32타입이었다. 위 코드를 실행했을 때, 기본형인 float형이 아니라 numpy.float형이기 때문에 오류가 발생..
RNN 학습을 위한 코드를 작성하던 중, tf.nn.dynamic_rnn() 함수를 처음 실행할 땐 문제가 없었는데 재실행하려 하니 아래와 같은 오류가 발생했다. ValueError: Variable rnn/basic_lstm_cell/kernel already exists, disallowed. Did you mean to set reuse=True or reuse=tf.AUTO_REUSE in VarScope? 이미 커널이 실행되고 있기 때문에 에러가 발생한 것이라는 건 알겠는데, 커널을 어떻게 중지하는지 알 수가 없었다. 구글링해보니 바로 답이 나왔다. 에러 발생 코드 윗 부분에 tf.reset_default_graph() 를 추가하여 실행해주면 해결된다. ...더보기 참고 https://stack..
RuntimeError: Attempted to use a closed Session. 이 오류는 with tf.Session() as sess: 로 Session을 사용할 때, 블럭의 밖에서 sess를 사용했을 때 발생하는 오류이다. 이 블럭을 벗어나면 sess는 더 이상 제 기능을 하지 않는다. (지역변수의 개념처럼) 이를 해결하려면 with tf.Session() as sess: 대신에 sess = tf.Session()로 선언을 하고, sess의 동작이 끝나는 곳에 sess.close() 를 써주어 Session을 닫아준다. ...더보기 참고 https://stackoverflow.com/questions/37568980/tensorflow-cifar10-eval-py-errorruntimeerr..
Anaconda Prompt에서는 import tensorflow as tf 명령이 잘 실행 되는데 Jupyter Notebook에서 실행을 시켜보니 ModuleNotFoundError: No module named 'tensorflow' 라는 에러가 발생했다. 해결방법은 우선 Anaconda Prompt를 관리자 권한으로 실행한다. 그리고 다음 명령을 입력한다. > activate tensorflow > conda install nb_conda 그러면 시작메뉴에 Jupyter Notebook (tensorflow) 라는 프로그램이 새로 생긴다. 이것을 이용하여 다시 import tensorflow as tf 명령을 실행하면 오류 없이 실행된다. ...더보기 참고 https://copycoding.tis..
1. Anaconda 설치 https://www.anaconda.com/distribution/#download-section Anaconda Python/R Distribution - Free Download Anaconda Distribution is the world's most popular Python data science platform. Download the free version to access over 1500 data science packages and manage libraries and dependencies with Conda. www.anaconda.com 위 링크로 들어가서 자신의 운영체제를 선택한 후 다운로드한다. 다운로드가 다 되었으면 시작메뉴에 새로 생성된 Anac..
// 윗 부분 생략 for step in range(21) : sess.run(update, feed_dict={X: x_data, Y: y_data}) print(step, sess.run(cost, feed_dict={X: x_data, Y:y_data}), sess.run(W)) Anaconda prompt에서 위와 같이 반복문을 사용한 코드를 작성하려고 하였다. for step in range(21) : ... sess.run(update, feed_dict={X: x_data, Y: y_data}) 그런데 위처럼 입력하고 엔터를 쳤는데 'IndentationError: expected an indented block' 라는 오류가 발생하였다. 구글에 검색해보니 다음과 같은 해결 방법을 알려준다...