주식 자동매매 시스템

파이썬을 이용한 주식 자동매매 시스템

이미지
파이썬을 이용한 주식 자동매매 시스템 INDEX 환경구축 키움증권 API - 연결테스트 키움증권 API - 계좌정보 조회 키움증권 API - 주문 키움증권 API - 종목정보 가져오기 포트폴리오 - 종목, 업종별 자산 포트폴리오 한국투자증권 API API reference 키움 OpenAPI+ 개발가이드 한국투자증권 OpenAPI 다운로드 및 가이드 Design https://www.design-seeds.com/in-nature/succulents/cacti-color-2/ https://create.piktochart.com/dashboard

[R 함수] aggregate, apply 사용 방법

이미지
Googlevis R과 Google chart API 의 인터페이스를 제공한다. 실습을 위한 데이터를 얻기 위해 설치했다. 아래와 같이 설치하면, Fruits와 같은 데이터셋을 사용할 수 있다. install('googlevis') library('googleVis') Fruits aggregate(x, by, function, ... )  > banana <- Fruits[Fruits$Fruit == 'Bananas',] Fruits 데이터 셋에서, Banana의 판매 수익을 알고 싶을 경우 어떻게 할 것인가?  아래와 같이 'Bananas' 를 직접 Hard coding해서, 'Bananas'의 정보를 얻을 수는 있을 것이다. 만약, 문자가 변경되어 'Oranges', 'Apples' 를 보고 싶다면? 매번 변경해줘야 한다.   이런 Hard coding은 하지 않도록 해야한다.   aggregate 는 Group By 같은 기능을 통해 이런 문제해결에 도움을 주는 함수다.   aggregate (함수를 적용할 대상~기준, 데이터 , 함수) 데이터를 기준에 따라 분할하고 각각에 대한 요약 통계를 계산(함수를 이용해) 한 다음 결과를 편리한 형식으로 반환한다. (Splits the data into subsets, computes summary statistics for each, and returns the result in a convenient form) ## Default S3 method: aggregate(x, ...) ## S3 method for class 'data.frame' aggregate(x, by, FUN, ..., simplify = TRUE, drop = TRUE) ## S3 method for class 'formula&

R에서 외부 데이터 이용하기 (Excel, csv)

이미지
Excel 파일을 사용하기 위해서 Package 설치 console 창에서 readxl 패키지 설치  > install.packages('readxl') 설치가 제대로 되지 않았을 경우 설치된 경로를 확인해 package를 삭제하고 다시 설치해야한다.  ⌕ C:\Users\student\AppData\Local\Temp\RtmpCu2rjY\downloaded_packages package 사용하기 library(package명) Excel 데이터 파일 준비 사용할 데이터 파일 (Excel) 을 프로젝트 폴더 안에 붙여넣으면 R studio에서 확인할 수 있다. 데이터 로드하기 패키지를 매번 로드해 줘야 하기 때문에 함수로 만들었다. exdata <- function(){ library(readxl); # 같은 workspace 에 존재하는 파일이기 때문에 파일명만 명시해도 된다 data <- read_excel('excel_exam.xlsx'); return(data); } data <- exdata(); colnames(data) <- c('a','b','c','d','e') mean(data$math) read_excel 속성 # column명이 없는 데이터인 경우 첫 줄을 column명으로 만들지 않도록 col_names = F 설정 data <- read_excel('excel_exam_nohead.xlsx', col_names = F); # Excel 파일의 2번째 sheet에 있는 데이터를 읽어온다 data <- read_excel('excep_exam_3.xlsx', sheet =2); csv 파일 이용하는 방법 getcsv <- fun

인사이트 특강

이미지
Insight 특강 : 멋쟁이 사자처럼, 르노 삼성 프로그래밍을 배워야 하는 이유 전문적인 개발자가 되지 않더라도, 가끔은 내가 필요한 것을 직접 만들 수 있다. Life Hacking 프로그래밍 교육 사이트 edx: cs50  : cs50 computer-science 강의는 꼭 들을 것을 추천 coursera udacit y codecademy kaggle  : sql course 추천 유용한 사이트  IBMwatson  : 챗봇에 응용해 볼 수 있는 인공지능 API를 제공 kaggle  : 데이터 분석용 자료를 받을 수 있다 멋쟁이 사자처럼 챗봇 카카오톡 @멋쟁이사자처럼 검색 후 추가한다 아이디를 설정한 후  멋쟁이사자처럼 챗봇 사이트  에 접속해 봇을 개발할 수 있다. 카카오톡에서 입력 메세지를 입력하면 답변 코드가 실행된다. # 실습1. 미세먼지 정보 활용하기 import requests url = "http://openapi.seoul.go.kr:8088/54775266536e6564393578574d4c41/json/TimeAverageAirQuality/1/25/201803281100" response_body = requests.get(url).json() dust = int(response_body['TimeAverageAirQuality']['row'][0]['PM10']) # 1. dust 변수에 담겨 있는 미세먼지 농도 값 출력하기 print(dust) # 2. 조건문을 활용하여 미세먼지 농도에 따른 미세먼지 상태 출력하기 if dust > 150:     print ("매우 심각") elif dust >80:   print("심각") elif dust >30:   print("보통")

R Data Type

Scala 단일 차원의 값 , 길이가 1인 벡터를 의미 > a <- 3 NA(Not Available) 데이터 값이 없음 변수에 NA 값이 저장되어 있는지 확인할 때는 is.na() 함수를 사용한다 is.na(변수명) NULL 변수가 초기화되지 않았을 때 사용 어떤 변수에 NULL이 저장되어 있는지 확인할 때는 is.null() 함수를 사용 is.null(변수명) Vector 한가지 타입만 저장가능 주어진 값들을 모아 벡터 생성 c( , , , ) 객체에 이름을 저장 / 반환 names(x) <- c("kim","so", "parck") names(x) 벡터 x의 n번째 요소 x[n] 벡터 x에서 n번째 요소를 제외한 나머지. 여러개 제외 가능 x[-n] x[-n1,-n2, , ,-nk] 벡터 x로부터 idx_vector에 지정된 요소를 얻어옴 -- 벡터 x의 start부터 end까지의 값을 반환 x2 <- x[start:end] List Matrix 한가지 타입만 저장가능 > matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), nrow=3) [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 > matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), nrow=3, byrow=TRUE) [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 > colnames(m1) <- c('c1','c2','c3'); > rownames(m1) <- c('r1','r2','

R Studio

R 프로그래밍을 위한 환경설정 R을 설치하면 기본적으로 console 화면에서 tab(자동완성), 키보드 방향키 위/아래를 눌러서 이전/이후 명령 이력을 볼 수 있다.  더 많은 기능을 이용하고 싶다면, IDE를 설치하면 된다.  RStudio 는 명령 콘솔 외에 파일 편집, 데이터 보기, 명령 히스토리, 차트 등을 손쉽게 접근할 수 있게 해준다.  자세한 설치 방법은 아래 사이트에 자세히 나와있다. R 프로그래밍환경설정 R 기본툴 RStudio

jdk1.8/Hadoop2.9.0/Hive2.2/

이미지
Install File 설치 파일 준비 Hadoop 다운로드 페이지에서 releases > Apache release archive site에 가면 모든 버전을 다운 받을 수 있다. 하둡다운로드 하이브다운로드 jdk다운로드 ↓ cd 다운로드 tar xvfz jdk-8u161-linux-x64.tar.gz cp -r jdk1.8.0_161/ /usr/local/jdk1.8 cd /usr/bin ln -s /usr/local/jdk1.8/bin/java java tar xvfz hadoop-2.9.0.tar.gz cp -r hadoop-2.9.0 /usr/local/ tar xvfz apache-hive-2.2.0-bin.tar.gz cp -r apache-hive-2.2.0-bin /usr/local/hive Generate SSH Key SSH Key : 서버간의 통신을 위한 프로토콜 ssh-keygen is a standard component of the Secure Shell (SSH) protocol suite found on Unix and Unix-like computer systems used to establish secure shell sessions between remote computers over insecure networks, through the use of various cryptographic techniques. # ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa # ssh-copy-id -i /root/.ssh/id_dsa.pub root@slave1 SSH Key profile setting JAVA_HOME=/usr/local/jdk1.8 HADOOP_HOME=/usr/local/hadoop-2.9.0 HIVE_HOME=/usr/local/hive CLASSPA

Linux에서 CSV파일 사용방법

이미지
Linux 에서 CSV 파일 한글 깨지는 현상 Solution 파일을 메모장으로 연다 다른 이름으로 저장 인코딩 방식 UTF-8로 변경 데이터 로드 전 처리 데이터에 있는 column 명 삭제 sed -e '1d' cafeUTF.csv > cafe.csv 데이터가 " "로 둘러싸여 있는 경우 현재 폴더에서 이름으로 검색 후 데이터에 "를 제거 find . -name airports.csv -exec perl -p -i -e 's/"//g' {} \; Before delete first row After delete first row

Linux : Oracle에서 데이터베이스 구축

이미지
Linux Terminal에서 데이터베이스 구축하기 데이터 파일을 저장할 Directory 생성 누구나 읽기/쓰기 가능하도록 권한 열기 # mkdir /oradata # chmod 777 /oradata Oracle Database 실행 # sqlplus SQL > 테이블 생성 (Linux terminal) SQL > CREATE TABLE customer( id VARCHAR(10) NOT NULL PRIMARY KEY, name NCHAR(5) age INT, address NCHAR(5) ) TABLESPACE shopping_db; MariaDB 와 Oracle의 차이점 테이블 생성 구문 뒤에 테이블이 생성될 테이블 스페이스를 지정 NVARCHAR 대신 NCHAR를 사용 데이터베이스 구축 SQL > INSERT INTO customer VALUES('hong', '홍길동', 22, '경기') Web에서 데이터베이스 구축하기 127.0.0.1:8080/apex 로 접속 Workspace 서로 다른 workspace 안에 있는 데이터는 접근 못함.  web으로 접속할 때만 있는 개념  실제 User는 schema를 기준으로 접속한다. Internal은 기본적으로 Oracle에서 제공하는 Workspace이며, 다른 workspace, user를 생성하는 용도로 사용한다. oracle web server csv 파일을 이용한 테이블 생성과 데이터 로드 SQL Workspace > Utility Utility > Data workshop Linux: oracle db 관리자로 접속 Linux의 oracle database를 관리하는 계정은 System이다. 비밀번호는 설치 시 설정했던 비밀번호를 사용한다. web에서 구축한 데이터에 접근하는 방법

Linux에 Oracle 설치하기

이미지
Oracle 설치 파일 다운로드 oracle-xe-11.2.0-1.0.x86_64.rpm.zip Window > Linux 다운로드 폴더로 copy Oracle Database 11g Release 2 zip 파일 압축 풀기 다운로드 파일로 이동 > 다운로드 파일 확인 > 압축풀기 # cd 다운로드 # ls -l oracle* # unzip oracle* rpm 파일 설치 임시로 가상 메모리 추가 Oracle Database Express 11g를 설치하려면 최소 1990MB 이상의 가상 메모리가 필요 임시로 가상 메모리 추가 가상 메모리용 파일 생성 파일을 가상 메모리로 포맷 가상 메모리 활성화 가상 메모리 용량 확인 # dd if=/dev/zero of=/swapfile bs=1024 count=4194304 # mkswap /swapfile # swapon /swapfile # swapon -s 결과 # swapon /swapfile swapon: /swapfile: insecure permissions 0644, 0600 suggested. # swapon -s Filename Type Size Used Priority /dev/sda1 partition 2047996 134528 -1 /swapfile file 4194300 0 -2 rpm 파일 설치 # cd Disk1/ # ls -l oracle* # yum -y localinstall oracle* 아래와 같이 실패 할 경우 swap 용량이 부족해서 발생하는 오류 >> 가상 메모리 추가 Total size: 564 M Installed size: 564 M Downloading packages: Running transaction check Running transaction test Transaction test succe

Hadoop - Eclipse 연동

이미지
Install Hadoop Namenode Configuration Download Hadoop Hadoop download page 다운로드 폴더에 hadoop-1.2.1.tar.gz 붙여넣기  교재 내용 상 최신버전 사용하지 않음 압출풀기 # tar xvfz hadoop-1.2.1.tar.gz 설치파일 /usr/local 로 복사 # cp -r hadoop-1.2.1.tar.gz /usr/local Download JDK JDK 8u161 download page JDK 설치 # tar xvfz jdk-8u161-linux-x64.tar.gz # cp -r jdk1.8.0_161/ /usr/local java softlink 설정 # cd /usr/bin # ln -s /usr/local/jdk1.8.0_161/bin/java java profile 설정 - vi /etc/profile : PATH 설정 JAVA_HOME=/usr/local/jdk1.8.0_161 export JAVA_HOME HADOOP_HOME=/usr/local/hadoop-1.2.1 export HADOOP_HOME CLASSPATH=/usr/local/jdk1.8.0_161/lib export CLASSPATH PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH 하둡 환경설정 # cd usr/local/hadoop-1.2.1/conf Hadoop - JAVA PATH 설정 # vi hadoop-env.sh export JAVA_HOME=/usr/local/jdk1.8.0_161 export HADOOP_HOME_WARN_SUPRESS="TRUE" core-site.txt # vi core-site.txt IP-ADDRESS : namenode의 IP Address or Hostname window, linux Host 편집 <config