RSI는 추세의 강도를 백분율로 나타내고, 주가가 언제 추세가 전환할지 예측하는 사용된다.

시장가격의 변동폭 중에서 상승폭이 어느 정도인지 계산한다.

 

1. RSI

1.1 계산식

RSI(N) = 100 * "N일간 상승폭 합계" / ( "N일간 상승폭 합계" + "N일간 하락폭 합계")

 - 기본값: 14일

 

같은 식

RSI(N) = 100 - ( 100 / (1 + RS))

RS = (N일간 상승폭의 평균 / N일간의 하락폭의 평균)

 

1.2 적용

 - RSI값이 30이하면 매수 시점, 70이상이면 매도 시점으로 인식한다.

 

2. RSI시그널

2.1 계산식

RSI시그널 = RSI의 이동평균선

 - 기본값: 9일

 

2.2 적용

 - RSI(N)추세선이 RSI시그널을 상승전환할 때는 매수신호,

   RSI(N)추세선이 RSI시그널을 하라전환할 때는 매도신호.

 - 이동평균선을 기본으로 하고, 상승전환 추세를 RSI(14)와 RSI시그널을 참조한다.

 

end.

 

728x90

'Programming Language > 알고리즘' 카테고리의 다른 글

상관계수(r)와 유의확율(p-value)  (0) 2022.04.20
[주식] 이동평균 계산  (0) 2022.03.06

가격이동평균은 일정기간 주간의 평균 가격을 뜻함.

 

5일 단순이동평균 = 오늘종가 + 1일전종가 ~ 4일전종가 / 5(데이터 수)

 

1) 소수점은 버린다.

2) 10, 20 이동평균선도 같은 방식으로 계산함.

3) 만약에 데이터가 부족하면, 부족한 데이터만으로 계산한다.

 - 5일 단순이동평균(2일만 있다면) = 오늘종가 + 1일전종가 / 2(데이터 수)

 

import math

move_avg_5 = math.floor((19300 + 20050 + 18650 + 18550 + 18400) / 5)
print(move_avg_5)

 

end.

728x90

파이썬 코딩 스타일 가이드

https://www.python.org/dev/peps/pep-0008/#code-lay-out


1. 코드 레이아웃
 1) 들여 쓰기: 공백 4개
 - Python은 들여쓰기를 위해 탭과 공백을 혼합하는 것을 허용하지 않는다.
 2) 최대 라인 길이: 79자
  - 독/주석은 72자 제한
 3) 단락 내 수식에서 이진 연산자 앞에 줄 바꿈한다.
 4) 빈 줄
  - 최상위 함수 및 클래스 정의를 두 개의 빈줄로 묶는다.
  - 클래스내 메서드 정의는 단일 빈줄로 둘러싼다.
  - 관련 기능 그룹을 구분하기 위해 여분의 빈 줄을 사용.
  ps. 파이썬은 라인 피드 문자를 공백으로 받아 들임.
 5) 소스 파일 인코딩: 배포판 코드는 항상 UTF-8 로 사용.
 6) import
  - 하나씩 각 줄로 정의함.
  - from xxx import a, b, c 처럼 from 이후는 여러개 정의 가능.
 7) 모듈 수준 Dunder Names
  - Dunder Names: __all__, __author__, __version__
  - Duner Names는 __future__ 를 제외한 모든 import 문 앞에 위치해야 함.


2. 문자열 따옴표
 1) 작은 따옴표와 큰따옴표 문자열은 동일함.


3. 표현식 및 명령문의 공백
 1) 이항 연산자를 한 공백 사용
 2) 붎필요한 공백 사용하지 않음
  - 괄호, 대괄호, 중괄호에서 파라 뒤 공백 1개, ','뒤에 파라 없으면 공백 제거.
  - 배열범위 표시시 ':'뒤는 붙임.
  - 변수 정의 할당 시 불필요한 공백 두지 않음.
# Wrong:
x             = 1
y             = 2
long_variable = 3

 

4. 코멘트
 1) Block Comment: '#' 와 공백 하나로 시작
 2) InLine Comment: 코드 뒤 공백 2개 후에, '# ' 로 시작
 3) Documentation String: """ 시작 ~ 마지막라인은 """로 끝나야 함.

 

5. 명명 규칙
 1) 피해야 할 이름
  - 단일 문자 변수 중에서 소문자 l, 대문자 O, 대문자 I 는 금지.
 2) 패키지 및 모듈 이름
  - 모두 소문자로된 짧은 이름으로
  - 가독성을 위해서, 모듈 이름에 밑줄(_) 사용.
 3) 클래스 이름
  - Class와 Exceptoin에는 CapWords(CamelCase)표기법을 사용하고,
    함수, 변수 명은 소문자와 '_'를 사용한다.
    예외로 상수의 경우는 대문자와 '_'를 사용한다.

 

end.

728x90

https://www.dummies.com/programming/net/standardized-naming-conventions-for-visual-basic-net/

 

Standardized Naming Conventions for Visual Basic .NET - dummies

When you’re programming, names are important. If you’re programming with Visual Basic .NET, the following table can be a major help in getting the names right. It gives the common prefix to use when naming objects so you can quickly tell your check box

www.dummies.com

 

 

PrefixCorresponding ObjectExamplePrefixCorresponding ObjectExample

Acd ActiveDoc AcdMainPage Hpl HyperLink HplURL
Chk CheckBox ChkBoldface Lbl Label LblContents
Cbo ComboBox CboDropper Lst ListBox LstNames
Cm ADO command (database) CmMyCommand Pag Page PagTurn
Cmd CommandButton CmdExit Pgf PageFrame PgfRule
Cmg CommandGroup CmgSelectOne Prj ProjectHook PrjSuzerine
Cn Connection (database) CnMyConnex Rb RadioButton RbBlueBackground
Con Container CntFramed Rs Recordset (database) RsTotalSales
Ctr Control CtlSeeThis Sep Separator SepZone
Fld Field (database) FldTitles Spn Spinner SpnWatch
Frm Form FrmColors Txt TextBox TxtAddress
Frs FormSet FrsTypeIn Tmr Timer TmrAnimation
Grd Grid GrdGoods Tbr ToolBar TbrDropThis
Grc Column (in grid) GrcQuantity Tbl Table (database) TblTitles
Grh Header (in grid) GrhYearsResults    

참조.

 

728x90

+ Recent posts