기본 콘텐츠로 건너뛰기

pandas_ta를 적용한 통계적 인덱스 지표

apt-get 명령

apt-get apt-get(Advanced packaging Tool)은 우분트를 포함한 데미안 계열의 리눅스에서 사용되는 팩키지 관리 명령에 도구입니다. 이 도구는 command based tool로서 GUI 기반의 시냅틱 꾸러미 관리자의 사용보다 편리합니다. 이 명령어는 sudo와 함께 사용되는데 이것은 superuser의  권한으로 실행함을 알려 주는 것입니다. apt를 사용해서 설치된 deb 패키지는  /var package index 정보 업데이트 apt-get은 인덱스를 가지고 있는데 이 인덱스는 etc/apt/sources.list에 있습니다. 이곳에 저장된 저장송에서 사용할 패키지의 정보를 얻습니다. sudo apt-get update 설치된 패키지를 모두 새 버전으로 업그래이드 합니다. 사용가능한 패키지들과 그 버전들의 리스트를 업데이트, 실제로는 패키지의 최신버전의 존재를 확인하고 알려주는 용도 sudo apt-get upgrade 실제로 최신버전으로 업그레이트 하는 명령어로 update에서 확인된 최신버으로 업그레이드하는 명령어 sudo apt install 패키지 이름 하나의 패키지 또는 한번에 여러개의 패키지를 (모든 이름을 리스크하여) 설치한다. sudo apt-get –reinstall install 패키지이름 패키지 재설치 sudo apt-get remove 패키지이름 패키지 삭제하는데 설정 파일은 삭제하지 않습니다. sudo apt-get –purge remove 패키지이름 설정파일까지 모두 지웁니다. sudo apt-get source 패키지이름 패키지 소스코드 다운로드 sudo apt-get build-dep 패키지이름 다운로드한 소스코드를 의존성있게 빌드 sudo apt-cache search 패키지 이름 패키지 ...

주가자료의 변형

주가 자료는 날짜,시가, 고가, 저가 종가, 거래량으로 정리됩니다. 이러한 기본자료로 부터 원하는 부분을 추출하기 위해 자료의 형태를 수정하여야 할 경우가 있는데 그러한 수정에 필요한 함수들을 작성해 보면 다음과 같습니다. 우선 날짜를 기준으로 구분하기 위해서는 날짜의 형식을 연산이 가능한 형태로 변경해 주어야 합니다. python에서 엑셀등으로 부터 자료를 호출할 경우 날짜로 된 인덱스는 문자형인 경우가 많으므로 이를 pd.Timestamp로 변경하여 연산이 가능하도록 합니다. 다음은 엑셀로 부터 호출한 kospi 자료의 날짜 인덱스의 변경 예입니다. >>> kos_day=[pd.Timestamp(i) for i in kos.index] >>> kos.index = kos_day 이러한 변화에 의해 다음과 같이 날짜에 대한 연산이 가능해 집니다. >>> kos.iloc[kos.index<pd.Timestamp(2011,1,1),:] Out[ 22 ]: Open High Low Close Volume 2010-01-04 1681.71 1696.14 1681.71 1696.14 295646000 2010-01-05 1701.62 1702.39 1686.45 1690.62 407629000 2010-01-06 1697.88 1706.89 1696.10 1705.32 425407000 2010-01-07 1702.92 1707.90 1683.45 1683.45 461562000 2010-01-08 1694.06 1695.26 1668.84 1695.26 379138000 2010-01-11 1700.79 1705.73 1694.12 1694.12 405115000 2010-01-12 1695.83 1701.16 1683.29 1698.64 382863000 2010-01-13 1...

집합 자료형과 집합연산_python

python에서는 set이라는 집합 자료형을 제공합니다. 이 자료형은 집합들 간의 합집합 등의 연산을 위해 사용되는 형태입니다. 이번 글에서는 python 의 set 자료형에 의한 연산 종류를 알아봅니다. 우선 리스트등의 자료형을 집합형으로 전환하기위해서 set() 함수를 사용합니다. 다음은 주사위 두개를 던져 나올수 있는 모든 경우입니다. >>> S=[(i, j) for i in range(1, 7) for j in range(1, 7)] >>> print(S) [(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (3, 6), (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (4, 6), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5), (5, 6), (6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6)] 다음 A와 B는 각각 두수의 합이 2의 배수, 3의 배수인 경우입니다. >>> A=[(S[i][0], S[i][1]) for i in range(len(S)) if (S[i][0]+S[i][1])%2 ==0] >>> print(A) [(1, 1), (1, 3), (1, 5), (2, 2), (2, 4), (2, 6), (3, 1), (3, 3), (3, 5), (4, 2), (4, 4), (4, 6), (5, 1), (5, 3), (5, 5), (6, 2), (6, 4), (6, 6)] >>> B=[(S[i][0], S[i][1]) for i in range(len(S)) if (S[i][0]+S[i][1])%3 ==0] >>> print(B) [(1, 2), (1, ...

확률의 개요

확률이란... 확률은 미래에 발생할 사건에 대한 믿음의 측정값입니다. 어떠한 사건에 대해 그 사건이 일어날 빈도수를 전체사건에서 차지하는 비율로 나타낼 수 있습니다. 확률은 통계의 기본이 되며 일상에서 많은 경우를 접하고 있습니다. 그러나 확률을 정의하는 것은 많은 사람들에게는 새로운 작업이 될 수도 있습니다. 그러나 이것은 일상에서 접하는 것을 서술하는 것으로 사실 새로운 것은 아닙니다. 1. 용어 이러한 확률을 다루기 위해서 몇가지 알아야할 용어가 있습니다. - 확률실험(random experiment, 시행) 실험결과를 예측할 수 없는 실험을 말하며 실험결과를 알 수 없다는 것은 실험의 모든 시행의 가능성이 동일하다고 할 수 있습니다. 예를들어 동전던지기에서 앞과 뒤가 나올 확률은 동일합니다. 이러한 실험을 확률실험이라고 합니다. - 표본공간(sample space)와 원소(element) 확률실험의 각 결과를 원소라 하며 그 실험의 모든 결과를 모아 놓은 공간을 표본공간이라고 합니다. 주사위 던지기 실험 역시 각 눈의 값이 나올 확률은 동일하므로 확률실험이며 이 실험에서 나올 수 있는 결과(사건)은 1, 2,3 ,4,5 ,6 입니다. 이 모든 사건들의 모임을 표본공간이라고 하고 이 실험에서 표본공간(S)은 S={1,2,3,4,5,6} 이며 각 값들을 원소라고 합니다. - 사건(event) 또는 집합(set) 확률실험에서 관심의 대상이 되는 원소들의 모임을 사건 또는 집합이라고 합니다. 특히 확률이 정의된 집합을 사건이라고 합니다. - 벤다이어그램(Venn Diagram) : 집합간의 관계를 그림으로 나타낸 것입니다. 그림 1 벤다이어 그램  - 전체집합(Universe set) : 샘플공간과 같으며 실험에서 발생하는 모든 원소들의 집합입니다. 그림 1에서 S - 공집합(Empty set) : 원소가 하나도 없는 집합 ($\emptyset$) - 합집합(Union) :  각 집합에 속...

조합과 순열

조합과 순열 (Combination & Permutation) 조합의 정의 조합은 전체 집합중에서 일정한 수의 부분집합을 선택하는 방법의 수로 그 순서는 고려하지 않습니다 . 다음과 같이 나타내지요 . $\left( \begin{array}{rr} n \\ p \end{array}\right)$ or $C_n^p$  로 표현합니다 . 위의 의미는 전체 n 원소들로 이루어진 집합에서 p 개의 일부 원소들 취해 부분집합을 만드는 방법으로 위의 표현은 $ n^p$ 로 계산됩니다 . 2 진법으로 6 자리를 만드는 방법의 수는 다음과 같이 계산됩니다 . $\left( \begin{array}{rr} 2 \\ 6 \end{array}\right)=2^6$ 모든 자리에 0, 1 중의 하나를 선택하고 이러한 경우가 6 번이므로 $ 2 \times 2 \times 2 \times 2 \times 2 \times 2$ 이 됩니다 . 위와 같은 결과이지요 . {a, b, c, d, e} 중에서 서로 다른 세개만을 선택하는 방법을 생각해보면 먼저 a 를 선택한 후 나머지를 선택하는 방법은 다음과 같이 12 가지가 됩니다 . a b c d e c b d e d b c e ...