딥러닝의 LSTM 알고리즘을 이용하여 주식가격을 예측해 보고자 합니다.

주가처럼 시계열 데이터에 LSTM이 좋은 성능을 발휘한다고 하네요!!

어쨌든 기술적인 구현부분은 나중에 포스팅 할 생각이고 바로 예측에 들어가 보죠!!

 

오늘(5월27일) 기준 제약종목인 셀리드를 예측해 보겠습니다.

 위 그림에서 파란색 실선이 실제 주가를 나타내고, 주황색 실선이 예측 주가(종가)를 나타냅니다.

최근 30일의 실제 주가와 비교해보면 예측 추세가 얼추 맞다고 보여집니다.

주황색 실선(예측)의 마지막 끝나는 점이 내일(28일)의 주가를 예측한 것인데, 전일보다 상승한 것으로 예측하고 있네요.

내일은 셀리드 한 주 사볼까... 

 

저는 주식을 시작한지 얼마 되지 않았고 아주 소액으로 주식을 취미삼아 하고 있기 때문에 이런 예측도 해볼 수 있는 것인데, 판단은 각자 알아서!!

 

예측은 [시가, 고가, 저가, 거래량, 종가]로 딥러닝 학습하여 20일치 데이터를 독립변수로 설정하고 다음 날 주가를 예측하는 방식으로 진행하였습니다. 이것은 데이터 기반의 정량적 예측일 뿐, 최근의 주식시장 이슈나 해당 종목의 뉴스 및 정보를 종합적으로 고려하여 판단하는 것이 제일 좋을 것 같습니다.

매번 까먹어서 기록해 둔다.

토드에서 ,

 

Database -> Monitor -> Session Browser

 

Locks 탭에서 락걸린, 문제가 되는 테이블 확인. SID 확보!

다음과 같이 조회

 

select * from V$SESSION

where sid = '1443'

 

alter system kill session '1443,2296'; -- SID, SERIAL# 순이다.

'오라클' 카테고리의 다른 글

관리툴 DBeaver 설치하기  (0) 2020.01.20
[오라클]사용자 만들고 권한 부여  (0) 2019.11.29
토드(TOAD) 단축키 정리  (0) 2019.11.13

상황 

1.아나콘다 설치.

2.가상환경 신규 생성

3.VSC에서 코드 작성

4.터미널에서 가상환경 activate 명령어 실행

 $> conda activate H:\workspace_env\env001

conda : 'conda'용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경 로가 올바른지 검증한 다음 다시 시도하십시오.

해결

1. 환경변수 PATH 추가

C:\anaconda3

C:\anaconda3\Library\mingw-w64\bin

C:\anaconda3\Library\bin

C:\anaconda3\Scripts

VSC 에서 

CTRL + SHIPT + P 를 눌러 명령어 팔레트를 열고,

Select Default Shell 을 입력.

command prompt 선택.

 

다시 실행하면 activate 설정이 가능하다!

 

이와 동시에 SSL 문제도 해결되었다.

SSLError("Can't connect to HTTPS URL because the SSL module is not available.")'
아나콘다 path를 등록해줘서 해결된 듯.

www.mongodb.com에서 tgz패키지 파일을 다운로드 한다. 

RedHat/CentOS 8.0 선택

 

복사 및 압축풀기

$> cp mongodb-**-**.tgz /home/tomy/dev/mongodb.tgz

 

dev디렉토리로 이동하여

$> tar -xvz mongodb.tgz

 

압축풀면 폴더 이름이 다운받을때로 돌아갈텐데 ㅡㅡ

다시 이름을 바꿔줌.

$> mv mongodb-**-** mongodb

 

$> mkdir -p mongodb/data/db

$> mkdir -p mongodb/log

$> vi mongodb/mongodb.conf

 

dbpath=/home/tomy/dev/mongodb/data/db

logpath=/home/tomy/dev/mongodb/log/mongodb.log

logappend=true

 

port=27017

verbose=true

fork=true

bind_ip=0.0.0.0

 

.bashrc 수정

$> vi .bashrc

 

MONGODB_HOME=/home/tomy/dev/mongodb

 

PATH=$MONGODB_HOME/bin:$PATH

 

export MONGODB_HOME

export PATH

 

$> source .bashrc

 

버전체크

$> mongo -version

버전 메시지가 나오면 성공

 

실행

$> mongod --config mongodb.conf

 

접속

$> mongo localhost:27017

 

 

서비스 등록 참조

cheonbrave.blogspot.com/2017/06/mongodb-server-db.html

 

MongoDB Server 설치 (몽고DB 서버 설치)

MongoDB Server 설치 (몽고DB 서버 설치) [설치환경] 운영체제 : LINUX - Redhat 7.3 64bit (리눅스 레드햇)  설치방식 : 소스설치 (" mongodb-linux-x86_64-3.2.13.tgz ")...

cheonbrave.blogspot.com

 

파이썬3.7.7을 다운받는다.

www.python.org/downloads/release/python-377/

 

Python Release Python 3.7.7

The official home of the Python Programming Language

www.python.org

$>tomy@localhost ~> mkdir dev

 

dev폴더로 다운받은 Python-3.7.7.tgz를 카피 한 후, 압축을 풀어준다.

 

$>sudo tar xzf Python-3.7.7.tgz

 

$>cd Python-3.7.7

$>sudo ./configure --enable-optimizations

$>sudo make altinstall

 

$>vi .bashrc 오픈

alias python="/usr/local/bin/python3.7" 

추가 후 저장(:wq)

 

$>source .bashrc 로 컴파일

 

$>python -V 

 

centos8 환경에서는 요렇게 파이썬3.7을 설치하고 path를 잡아 주었다.

 

참고로 파이썬 라이브러리 설치 경로는...

$>cd /usr/local/lib

python3.7 디렉토리가 보일 것이고, 들어가보면 site-packages가 존재한다.

 

윈도우 환경에서 쉽게 개발하다 서버에서 해보려니 이것저것 번거롭구만..

 

========================================================

 

파이썬 root권한 없이 유저 계정에 설치하기

마찬가지로 파이썬 다운로드 이번엔 3.7.9버전.

다운받은 파일을 /home/$USER/local/src로 카피

$> mkdir -p ~/local/src && cd ~/local/src

 

1.압출풀기

 

2.소스코드 빌드

$ ./configure --prefix=/home/$USER/local

$ make && make install

 

3.파이썬 경로 설정 (.bashrc)

alias python="$HOME/local/bin/python3.7"

export PATH=$HOME/local/bin:$HOME/.local/bin:$PATH

 

$ source .bashrc

 

$ python --version

 

4. site-pacaage 경로 확인

$HOME/local/lib/python3.7/site-packages

 

 

==================

centos에서 파이썬 설치하는 make install과정에서 zlib가 없다고 오류

zlib 설치 

zlib.net/다운로드.

# tar xvf zlib-1.2.3.tar.bz2
# cd zlib-1.2.3

# ./configure -s
# make

# ./configure
# make test
# make install

# ls -al libz.so*

 

 

pip3 사용 시 ssl오류

다음과 같이 진행

$>sudo yum install openssl-devel

cd Python-3.6.12

$>./configure --with-ssl --prefix=/home/$USER/local

$>make && make install

 

pandas실행하는데  ModuleNotFoundError: No module named '_bz2' 오류 발생

bzip2 다운 및 설치.

www.sourceware.org/bzip2/downloads.html

 

bzip2 : Downloads

The bzip2 test suite is maintained in a seperate repository and contains test files from various bzip2 implementations to check compatibility. It can be checked out with: There is also a experimental future branch which includes a modern build system and a

www.sourceware.org

tensorflow설치하는데 c++오류

yum install -y gcc-c++

 

'Python' 카테고리의 다른 글

[Python] 아나콘다 PATH등록, SSLError  (0) 2021.01.13
[MongoDB] Centos 8에 몽고DB 설치  (2) 2020.10.27
맥os에서 파이썬3 및 pip 설치  (0) 2018.11.27
django-admin 을 이용한 프로젝트 생성  (0) 2017.01.05
장고 설치  (0) 2016.11.03

아마 이런 케이스 일 것이다.

1. X_train df를 get_dummies로 레이블 인코딩 함.

2. 학습 ^^

3. 실제 예측 대상 데이터를 불러와서 예측해보려는데 오류 발생.

 

컬럼개수도 같은데 오류? get_dummies 진행 후 컬럼을 확인해 보자. 컬럼 개수가 train할때랑 다를 것이다.

 

train데이터 name 컬럼에 ['tomy','koo', 'roy'] 데이터가 있다면, get_dummies 후에는 

name_tomy, name_koo, name_roy 로 변경될 것이다.

 

test데이터 name 컬럼에 ['tomy'] 만 있다면, get_dummies 후에는

name_tomy 하나만 변경될 것이다.

 

그래서 위와 같은 feature_mismatch 발생된다.

 

나만의 해결법.

train_cols = list(df.columns)

test_cols = list(test_df.columns)

 

train_cols와 test_cols가 가지고 있는 컬럼명을 비교하여 test_cols에 없는 컬럼들을 별도 list에 추가.

대상이 되는 list의 컬럼들을 test_df에 추가한다. 

툴 환경 설정하기

모든 로컬 저장소를 위한 사용자 정보 설정하기

$ git config --global user.name "[name]"

유저의 커밋(commit) 기록에 부여되는 원하는 이름을 설정합니다

$ git config --global user.email "[email address]"

유저의 커밋 기록에 부여되는 원하는 이메일을 설정합니다

저장소 생성하기

새로운 저장소를 시작하거나 혹은 기존의 URL로부터 저장소를 획득합니다

$ git init [project-name]

특정 이름으로 새로운 로컬 저장소를 생성합니다.

$ git clone [url]

프로젝트와 프로젝트의 버전 기록 전체를 다운로드 합니다.

변경하기

수정 사항을 리뷰하고 커밋 기록을 생성합니다

$ git status

커밋 대상의 모든 새로운 파일 혹은 수정된 파일 리스트를 보여줍니다

$ git diff

아직 Staged 되지 않은 파일의 차이점을 보여줍니다

$ git add [file]

버저닝(versioning) 준비를 위해 파일을 일시적으로 저장(snapshot)합니다

$ git diff --staged

곧 커밋할 것이라고 표시(staging)한 것과 가장 최근 파일 버전 간의 차이점을 보여줍니다

$ git reset [file]

파일을 언스테이지(unstage) 상태로 변경시키나 파일 컨텐츠는 그대로 보존합니다

$ git commit -m"[descriptive message]"

버전 히스토리에 파일 스냅샷을 영원히 기록합니다

그룹 변경하기

커밋 시리즈의 이름을 설정하고 결과물을 결합시킵니다

$ git branch

현재 저장소 안의 모든 로컬 브랜치 리스트를 보여줍니다

$ git branch [branch-name]

새로운 브랜치를 생성합니다

$ git checkout [branch-name]

특정 브랜치로 전환하고 워킹 디렉토리를 업데이트합니다

$ git merge [branch-name]

현재 브랜치에 특정 브랜치의 히스토리를 결합시킵니다

$ git branch -d [branch-name]

특정 브랜치를 삭제합니다

파일 이름 단장하기(refactor)

버전이 부여된 파일들을 재배치하고 제거합니다

$ git rm [file]

워킹 디렉토리로부터 파일을 제거하고 삭제를 Stage 합니다

$ git rm --cached [file]

버전 관리로부터는 파일을 제거하나 로컬에서는 파일을 보존합니다

$ git mv [file-original] [file-renamed]

파일명을 변경하고 커밋을 준비합니다

트랙킹 숨기기

임시 파일과 경로를 제외시킵니다

*.log build/ temp-*

.gitignore이름의 텍스트 파일은 특정 패턴으로 매칭되는 우연히 버저닝된 파일과 경로를 숨깁니다

$ git ls-files --others --ignored --exclude-standard

해당 프로젝트에서 무시된 모든 파일 리스트를 보여줍니다

조각 저장하기

불완전한 변경 사항을 보류하고 복원 시킵니다

$ git stash

임시로 모든 수정된 트래킹된 파일들을 저장합니다

$ git stash pop

가장 최근에 숨겨진 파일을 복원합니다

$ git stash list

모든 숨겨진 변경 사항들의 리스트를 보여줍니다

$ git stash drop

가장 최근에 숨겨진 변경 사항을 버립니다

히스토리 리뷰

프로젝트 파일이 진행된 사항을 살펴보고 점검합니다

$ git log

현재 브랜치의 버전 히스토리 리스트를 보여줍니다

$ git log

현재 브랜치의 버전 히스토리 리스트를 보여줍니다

$ git log --follow [file]

이름 재설정을 포함한 파일의 버전 히스토리 리스트를 보여줍니다

$ git diff [first-branch]...[second-branch]

두 브랜치 간의 컨텐츠 차이점을 보여줍니다

$ git show [commit]

메타 데이터와 특정 커밋의 컨텐츠 변경 사항을 출력합니다

커밋 되돌리기

실수한 내용을 지우고 대체 히스토리를 생성합니다.

$ git reset [commit]

로컬에 변경사항을 보존한 채로 ‘[커밋]’ 이 후의 모든 커밋을 되돌립니다

$ git reset --hard [commit]

모든 히스토리와 변경사항을 버리고 특정 커밋으로 되돌립니다

변경사항 연동하기

원격(URL)을 등록하고 저장소 기록을 주고 받습니다

$ git fetch [remote]

원격 저장소로부터 모든 히스토리를 다운로드합니다

$ git merge [remote]/[branch]

원격 브랜치를 현재의 로컬 브랜치와 결합합니다

$ git push [remote] [branch]

GitHub에 모든 로컬 브랜치 커밋을 업로드합니다

$ git pull

북마크 기록을 다운로드하고 변경 사항을 포함합니다

 

출처 : https://services.github.com/on-demand/downloads/kr/github-git-cheat-sheet/

1. 아나콘다를 설치한다. (파이썬 전용 가상환경 패키지 관리 툴)

https://www.anaconda.com/distribution/#download-section

 

2. Anaconda Prompt 를 열어서 가상환경을 하나 만들어 보자. 

$> conda create --prefix C:/test_tensor python=3.7

--prefix를 써주지 않고 test_tensor만 입력하면 기본 설치폴더에 생성된다.

 

3. 가상환경 활성화

$> conda activate C:\test_tensor

 

가상환경 목록

$> conda env list

비활성화

$> conda deactivate

 

4. 활성화 된 상태에서 텐서플로우 설치하기

$> pip install --upgrade tensorflow

최신버전인 2.1.0이 설치된다.

 

5. 비주얼스튜디오 코드 설치. (VSC)

https://code.visualstudio.com/

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

6. vsc에서 파이썬 플러그인 설치

vsc에서 ctrl + shift + x 를 누른 후 python를 검색. 가장 상단에 나오는 것을 설치.

 

$> pip install flake8 black rope

flake8 : Python Linting Library
black : Python Auto Formatting Library
rope - Python Refactoring Library

(다른 블로그에서 본 것인데 일단 설치하자..)

 

7. 테스트용 .py 파일을 하나 만들고

print('hello world') 

 

명령 팔레트에서 (ctrl + shift + P )  --> python: Select Interpreter 선택.

그러면 파이썬이 설치 된 가상환경 목록이 나온다. 아까 생성했던 가상환경 (C:\test_tensor) 를 선택한다.

 

작성 후 실행. (ctrl+F5) --> 터미널에서 hello world가 찍히면 성공.

 

참조

https://sjquant.tistory.com/36

 

vscode에서 파이썬 개발환경 세팅

vscode 코드 설치 Download Visual Studio Code - Mac, Linux, Windows 파이썬 또는 Anaconda(Miniconda) 설치 파이썬 다운로드 (가장 기본적인 파이썬) 아나콘다 다운로드 (데이터 사이언스, 머신러닝을 위한 각..

sjquant.tistory.com

 

==============================

대부분의 강좌나 책에서 1.x 버전을 사용하고 있기에 다운그레이드 함.

$> conda activate C:\test_tensor

$> pip install tensorflow==1.15.0

+ Recent posts