Documentation ¶
Index ¶
- func F백테스트_실행[T팩터 T팩터_데이터, T재무 T재무_데이터](전략_인수 I전략_인수[T팩터, T재무])
- func F점수_계산_강환국_무작정_따라하기_단순형(s *S필터_정렬_처리기[*S팩터_세종])
- func New팩터_데이터[T팩터 T팩터_데이터, T재무 T재무_데이터](종목코드 string, 기준일 uint32, ...) (값 T팩터)
- type I데이터_처리기
- type I데이터_처리기_백테스트_전용
- type I전략_식별_정보
- type I전략_실행기
- type I전략_인수
- type I팩터_데이터_처리기
- type I포트폴리오
- type I포트폴리오_백테스트_전용
- type S데이터_처리기_백테스트
- func (s *S데이터_처리기_백테스트) ETF_ETN_종목_여부(종목코드 string) bool
- func (s *S데이터_처리기_백테스트) G가격(기준일 uint32, 가격구분 btc.T가격_구분, 종목코드 string) float64
- func (s *S데이터_처리기_백테스트) G가격_맵(기준일 uint32, 가격구분 btc.T가격_구분, ...) (가격_맵 map[string]float64)
- func (s *S데이터_처리기_백테스트) G기준일_시가_종가_평균(기준일 uint32, 종목코드 string) float64
- func (s *S데이터_처리기_백테스트) G기준일_이전_전종목_가격정보_맵(기준일 uint32) (추출본 map[string]*dd.S종목별_일일_가격정보_모음)
- func (s *S데이터_처리기_백테스트) G영업일_모음() []uint32
- func (s *S데이터_처리기_백테스트) G일자() time.Time
- func (s *S데이터_처리기_백테스트) G제외_종목_여부(종목코드 string) bool
- func (s *S데이터_처리기_백테스트) G현재가(종목코드 string) float64
- func (s *S데이터_처리기_백테스트) G현재가_맵(종목코드_모음 []string) (현재가_맵 map[string]float64)
- func (s *S데이터_처리기_백테스트) S상장_주식_수량_확인(종목코드_모음 []string) []string
- func (s *S데이터_처리기_백테스트) S준비(일자_정수값 uint32, 가격구분 btc.T가격_구분)
- type S리밸런싱
- type S매매
- type S일일_평가액
- type S일자별_자산_현황
- type S재무_FG
- type S재무_정보_식별
- type S재무_정보_저장소
- func (s *S재무_정보_저장소[T]) G값(종목코드 string, 연도 uint16, 분기 uint8) T
- func (s *S재무_정보_저장소[T]) G기준일_전년_동분기_정보(종목코드 string, 기준일 uint32) T
- func (s *S재무_정보_저장소[T]) G기준일_차최신_분기_정보(종목코드 string, 기준일 uint32) T
- func (s *S재무_정보_저장소[T]) G기준일_차최신_연도_정보(종목코드 string, 기준일 uint32) T
- func (s *S재무_정보_저장소[T]) G기준일_최신_분기_정보(종목코드 string, 기준일 uint32) T
- func (s *S재무_정보_저장소[T]) G기준일_최신_연도_정보(종목코드 string, 기준일 uint32) T
- func (s *S재무_정보_저장소[T]) G기준일_추출(기준일 uint32) (추출본 *S재무_정보_저장소[T])
- func (s *S재무_정보_저장소[T]) G연도별_값(종목코드 string, 연도 uint16) T
- func (s *S재무_정보_저장소[T]) G종목별_차차최신_연도_정보(종목코드 string, 기준일 uint32) T
- type S전략_실행기
- type S전략_인수
- func (s S전략_인수[T팩터, T재무]) G계좌번호() string
- func (s S전략_인수[T팩터, T재무]) G급등_종목_제외() bool
- func (s S전략_인수[T팩터, T재무]) G급락_종목_제외() bool
- func (s S전략_인수[T팩터, T재무]) G데이터_처리기() I데이터_처리기
- func (s S전략_인수[T팩터, T재무]) G리밸런싱_주기() lib.T리밸런싱_주기
- func (s S전략_인수[T팩터, T재무]) G버퍼_퍼센트() float64
- func (s S전략_인수[T팩터, T재무]) G복합_등급_계산_함수() func(*S필터_정렬_처리기[T팩터])
- func (s S전략_인수[T팩터, T재무]) G전략_식별_문자열() string
- func (s S전략_인수[T팩터, T재무]) G전략명() string
- func (s S전략_인수[T팩터, T재무]) G종목_수량() int
- func (s S전략_인수[T팩터, T재무]) G팩터_데이터_처리기() I팩터_데이터_처리기[T팩터, T재무]
- func (s S전략_인수[T팩터, T재무]) G포트폴리오() I포트폴리오
- type S팩터_FG
- type S팩터_데이터_처리기
- type S팩터_세종
- type S포트폴리오
- func (s *S포트폴리오) G리밸런싱_기준_가격(종목코드 string) float64
- func (s *S포트폴리오) G리밸런싱_기준_수량(종목코드 string) int64
- func (s *S포트폴리오) G리밸런싱_필요(계좌번호 string, 리밸런싱_주기 lib.T리밸런싱_주기) bool
- func (s *S포트폴리오) G보유_수량_맵() (map[string]int64, error)
- func (s *S포트폴리오) G보유_종목_코드_모음() []string
- func (s *S포트폴리오) G투자_성과_계산() (복리_수익율 float64, 최대_낙폭 float64, 샤프_지수 float64)
- func (s *S포트폴리오) S리밸런싱_실행(종목코드_모음 []string) error
- func (s *S포트폴리오) S부분_익절(종목코드 string, 비율 float64)
- func (s *S포트폴리오) S손절(종목코드 string)
- func (s *S포트폴리오) S익절(종목코드 string)
- func (s *S포트폴리오) S일일_결산()
- func (s *S포트폴리오) S전체_손절()
- func (s *S포트폴리오) S주문_체결(주문 *S매매)
- func (s *S포트폴리오) S준비(일자 uint32, 가격구분 btc.T가격_구분)
- type S필터_정렬_처리기
- func (s *S필터_정렬_처리기[T]) G종목코드_모음() []string
- func (s *S필터_정렬_처리기[T]) Len() int
- func (s *S필터_정렬_처리기[T]) Less(i, j int) bool
- func (s *S필터_정렬_처리기[T]) Swap(i, j int)
- func (s *S필터_정렬_처리기[T]) S등급_산출() *S필터_정렬_처리기[T]
- func (s *S필터_정렬_처리기[T]) S상위_N개(수량 int) *S필터_정렬_처리기[T]
- func (s *S필터_정렬_처리기[T]) S전처리(데이터_처리기 I데이터_처리기) *S필터_정렬_처리기[T]
- func (s *S필터_정렬_처리기[T]) S정렬(Less함수 func(*S필터_정렬_처리기[T], int, int) bool) *S필터_정렬_처리기[T]
- func (s *S필터_정렬_처리기[T]) S필터(필터_함수 func(팩터_데이터 T) bool) *S필터_정렬_처리기[T]
- type T매매_상세_구분
- type T재무_데이터
- type T팩터_데이터
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func F점수_계산_강환국_무작정_따라하기_단순형 ¶
func F점수_계산_강환국_무작정_따라하기_단순형(s *S필터_정렬_처리기[*S팩터_세종])
func New팩터_데이터 ¶
func New팩터_데이터[T팩터 T팩터_데이터, T재무 T재무_데이터](종목코드 string, 기준일 uint32, 일일_가격정보 *dd.S종목별_일일_가격정보_모음, 재무정보_저장소 *S재무_정보_저장소[T재무]) (값 T팩터)
Types ¶
type I데이터_처리기_백테스트_전용 ¶
type I데이터_처리기_백테스트_전용 interface { S준비(uint32, btc.T가격_구분) G일자() uint32 G가격(uint32, btc.T가격_구분, string) float64 G가격_맵(uint32, btc.T가격_구분, []string) map[string]float64 G기준일_시가_종가_평균(uint32, string) float64 G기준일_이전_전종목_가격_맵(uint32) map[string]*dd.S종목별_일일_가격정보_모음 }
백테스트에서만 사용됨. 실제 매매에서는 현재가/'현재가 맵'으로 충분함.
type I전략_인수 ¶
type I전략_인수[T팩터 T팩터_데이터, T재무 T재무_데이터] interface { I전략_식별_정보 G리밸런싱_주기() lib.T리밸런싱_주기 G종목_수량() int G복합_등급_계산_함수() func(*S필터_정렬_처리기[T팩터]) G급등_종목_제외() bool G급락_종목_제외() bool G버퍼_퍼센트() float64 // 버퍼가 '0%'이면 버퍼룰 적용 안 함. G데이터_처리기() I데이터_처리기 G팩터_데이터_처리기() I팩터_데이터_처리기[T팩터, T재무] G포트폴리오() I포트폴리오 }
func New전략_인수_세종 ¶
type I팩터_데이터_처리기 ¶
type I팩터_데이터_처리기[T팩터 T팩터_데이터, T재무 T재무_데이터] interface { G필터_정렬_처리기() *S필터_정렬_처리기[T팩터] }
재무 데이터에서 생성된 '종목별 팩터 데이터'를 정렬/필터하는 자료형 생성
type I포트폴리오_백테스트_전용 ¶
type S데이터_처리기_백테스트 ¶
S데이터_처리기_백테스트 : 백테스트용 I데이터_처리기 구현체. 실제 매매의 경우에는 API를 통해서 증권사 서버에 질의하게 될 기능을 가상으로 구현.
func (*S데이터_처리기_백테스트) ETF_ETN_종목_여부 ¶
func (s *S데이터_처리기_백테스트) ETF_ETN_종목_여부(종목코드 string) bool
func (*S데이터_처리기_백테스트) G기준일_시가_종가_평균 ¶
func (s *S데이터_처리기_백테스트) G기준일_시가_종가_평균(기준일 uint32, 종목코드 string) float64
func (*S데이터_처리기_백테스트) G기준일_이전_전종목_가격정보_맵 ¶
func (s *S데이터_처리기_백테스트) G기준일_이전_전종목_가격정보_맵(기준일 uint32) (추출본 map[string]*dd.S종목별_일일_가격정보_모음)
func (*S데이터_처리기_백테스트) G영업일_모음 ¶
func (s *S데이터_처리기_백테스트) G영업일_모음() []uint32
func (*S데이터_처리기_백테스트) G일자 ¶
func (s *S데이터_처리기_백테스트) G일자() time.Time
func (*S데이터_처리기_백테스트) G제외_종목_여부 ¶
func (s *S데이터_처리기_백테스트) G제외_종목_여부(종목코드 string) bool
func (*S데이터_처리기_백테스트) G현재가 ¶
func (s *S데이터_처리기_백테스트) G현재가(종목코드 string) float64
func (*S데이터_처리기_백테스트) G현재가_맵 ¶
func (s *S데이터_처리기_백테스트) G현재가_맵(종목코드_모음 []string) (현재가_맵 map[string]float64)
func (*S데이터_처리기_백테스트) S상장_주식_수량_확인 ¶
func (s *S데이터_처리기_백테스트) S상장_주식_수량_확인(종목코드_모음 []string) []string
type S매매 ¶
type S매매 struct { M종목코드 string M일자 uint32 M가격 float64 M매도_매수_구분 lib.T매도_매수_구분 M수량 int64 M매매_상세_구분 T매매_상세_구분 }
주문 내는 동시에 100% 체결된다고 가정해서 단순화.
type S일자별_자산_현황 ¶
func (*S일자별_자산_현황) G복사본 ¶
func (s *S일자별_자산_현황) G복사본() *S일자별_자산_현황
func (*S일자별_자산_현황) G일일_결산_평가액 ¶
func (s *S일자별_자산_현황) G일일_결산_평가액(데이터_처리기 I데이터_처리기) (평가액 float64)
func (*S일자별_자산_현황) G종목코드_모음 ¶
func (s *S일자별_자산_현황) G종목코드_모음() (종목코드_모음 []string)
func (*S일자별_자산_현황) G평가액 ¶
func (s *S일자별_자산_현황) G평가액(가격구분 btc.T가격_구분, 데이터_처리기 I데이터_처리기) (평가액 float64)
func (*S일자별_자산_현황) S주문_체결 ¶
func (s *S일자별_자산_현황) S주문_체결(주문_체결 *S매매)
type S재무_정보_저장소 ¶
func (*S재무_정보_저장소[T]) G기준일_전년_동분기_정보 ¶
func (s *S재무_정보_저장소[T]) G기준일_전년_동분기_정보(종목코드 string, 기준일 uint32) T
func (*S재무_정보_저장소[T]) G기준일_차최신_분기_정보 ¶
func (s *S재무_정보_저장소[T]) G기준일_차최신_분기_정보(종목코드 string, 기준일 uint32) T
func (*S재무_정보_저장소[T]) G기준일_차최신_연도_정보 ¶
func (s *S재무_정보_저장소[T]) G기준일_차최신_연도_정보(종목코드 string, 기준일 uint32) T
func (*S재무_정보_저장소[T]) G기준일_최신_분기_정보 ¶
func (s *S재무_정보_저장소[T]) G기준일_최신_분기_정보(종목코드 string, 기준일 uint32) T
func (*S재무_정보_저장소[T]) G기준일_최신_연도_정보 ¶
func (s *S재무_정보_저장소[T]) G기준일_최신_연도_정보(종목코드 string, 기준일 uint32) T
func (*S재무_정보_저장소[T]) G기준일_추출 ¶
func (s *S재무_정보_저장소[T]) G기준일_추출(기준일 uint32) (추출본 *S재무_정보_저장소[T])
func (*S재무_정보_저장소[T]) G연도별_값 ¶
func (s *S재무_정보_저장소[T]) G연도별_값(종목코드 string, 연도 uint16) T
func (*S재무_정보_저장소[T]) G종목별_차차최신_연도_정보 ¶
func (s *S재무_정보_저장소[T]) G종목별_차차최신_연도_정보(종목코드 string, 기준일 uint32) T
type S전략_실행기 ¶
다음의 경우에 수정 없이 재사용하는 것을 목표로 함. 1. 'I전략_인수'에서 '데이터_처리기'와 '포트폴리오'만 교체해 주면, 백테스트에서 검증된 전략 소스 코드를 그대로 '실제 매매'에 적용. 2. 'I전략_인수'에서 '복합_등급_계산_함수'만 교체하면 여러가지 전략에 적용. 3. 데이터 공급자를 교체해도 큰 수정 없이 사용. 향후 손절/익절 규칙 또한 인수에서 교체할 수 있도록 하는 것을 고려해야 할 듯.
type S전략_인수 ¶
type S전략_인수[T팩터 T팩터_데이터, T재무 T재무_데이터] struct { M전략명 string M계좌번호 string M리밸런싱_주기 lib.T리밸런싱_주기 M종목_수량 int M주식_비중_퍼센트 float64 M복합_등급_계산_함수 func(*S필터_정렬_처리기[T팩터]) M급등_종목_제외 bool M급락_종목_제외 bool M버퍼_퍼센트 float64 M데이터_처리기 I데이터_처리기 M팩터_데이터_처리기 I팩터_데이터_처리기[T팩터, T재무] M포트폴리오 I포트폴리오 }
func (S전략_인수[T팩터, T재무]) G복합_등급_계산_함수 ¶
func (s S전략_인수[T팩터, T재무]) G복합_등급_계산_함수() func(*S필터_정렬_처리기[T팩터])
func (S전략_인수[T팩터, T재무]) G전략_식별_문자열 ¶
func (S전략_인수[T팩터, T재무]) G팩터_데이터_처리기 ¶
func (s S전략_인수[T팩터, T재무]) G팩터_데이터_처리기() I팩터_데이터_처리기[T팩터, T재무]
type S팩터_FG ¶
type S팩터_FG struct { M종목코드 string M종목명 string *S재무_FG M전분기_재무_정보 *S재무_FG M전년_동분기_재무_정보 *S재무_FG M최신_연도_재무_정보 *S재무_FG M차최신_연도_재무_정보 *S재무_FG // TODO M최근_급등 bool M최근_급락 bool M복합_등급 float64 }
func New종목_데이터_FG ¶
func New종목_데이터_FG(종목코드 string, 기준일 uint32, 일일_가격정보_모음 *dd.S종목별_일일_가격정보_모음, 재무_정보_저장소 *S재무_정보_저장소[*S재무_FG]) (s *S팩터_FG)
type S팩터_데이터_처리기 ¶
type S팩터_데이터_처리기[T팩터 T팩터_데이터, T재무 T재무_데이터] struct { M재무정보_저장소_원본 *S재무_정보_저장소[T재무] M데이터_처리기 I데이터_처리기 }
func (*S팩터_데이터_처리기[T팩터, T재무]) G필터_정렬_처리기 ¶
func (s *S팩터_데이터_처리기[T팩터, T재무]) G필터_정렬_처리기() (필터_정렬_처리기 *S필터_정렬_처리기[T팩터])
type S팩터_세종 ¶
type S팩터_세종 struct { M종목명 string *bfc.S재무_세종 M전년_재무_정보 *bfc.S재무_세종 // --- 비재무 정보 --- M상장주식수량 float64 M전일_거래량 float64 M기준가 float64 // --- 사이즈 팩터 --- M시가총액 float64 M시가총액_등급 float64 // --- 가치 팩터 --- PSR float64 PSR등급 float64 POR float64 POR등급 float64 PER float64 PER등급 float64 PBR float64 PBR등급 float64 PEG float64 PEG등급 float64 // --- 성장성 팩터 --- M매출액_성장율 float64 M매출액_성장율_등급 float64 M영업이익_성장율 float64 M영업이익_성장율_등급 float64 M당기순이익_성장율 float64 M당기순이익_성장율_등급 float64 // --- 수익성 팩터 -- M자산회전율 float64 // 자산회전율 = 매출액 / 자산 M자산회전율_등급 float64 M자본회전율 float64 // 자본회전율 = 매출액 / 자본 M자본회전율_등급 float64 OPA float64 // 영업이익 / 자산 OPA등급 float64 OPE float64 // 영업이익 / 자본 OPE등급 float64 OPM float64 // 영업이익 / 매출액 OPM등급 float64 ROA float64 // 순이익 / 자산 ROA등급 float64 ROE float64 // 순이익 / 자본 ROE등급 float64 NPM float64 // 순이익 / 매출액 NPM등급 float64 // --- 추세 팩터 --- M3개월_모멘텀 float64 M3개월_모멘텀_등급 float64 M6개월_모멘텀 float64 M6개월_모멘텀_등급 float64 M9개월_모멘텀 float64 M9개월_모멘텀_등급 float64 M12개월_모멘텀 float64 M12개월_모멘텀_등급 float64 M12개월_고점_대비_하락율 float64 M12개월_고점_대비_하락율_등급 float64 // --- 퀄리티 팩터 --- M부채_비율 float64 M부채_비율_등급 float64 M부채_증가율 float64 M부채_증가율_등급 float64 M자본_증가율 float64 M자본_증가율_등급 float64 M자산_증가율 float64 M자산_증가율_등급 float64 M거래_금액_중간값_억 float64 // 1개월 거래 금액 중간값 M거래_금액_중간값_등급 float64 M가격_변동성 float64 // 6개월 일일 수익율 표준 편차 M가격_변동성_등급 float64 M거래금액_변동성 float64 // 6개월 거래 금액 변동율 표준 편차. M거래금액_변동성_등급 float64 // --- 급등락 --- M최근_급등 bool M최근_급등일 uint32 M최근_급락 bool M최근_급락일 uint32 // --- 팩터 카테고리별 점수 --- M가치_점수 float64 M가치_등급 float64 M성장성_점수 float64 M성장성_등급 float64 M수익성_점수 float64 M수익성_등급 float64 M추세_점수 float64 M추세_등급 float64 M퀄리티_점수 float64 M퀄리티_등급 float64 // --- 최종 종합 점수 --- M복합_점수 float64 M복합_등급 float64 }
func New팩터_세종 ¶
func New팩터_세종(종목코드 string, 기준일 uint32, 일일_가격정보_모음 *dd.S종목별_일일_가격정보_모음, 재무_정보_저장소 *S재무_정보_저장소[*bfc.S재무_세종]) (s *S팩터_세종)
type S포트폴리오 ¶
type S포트폴리오 struct { M일자 uint32 M가격구분 btc.T가격_구분 M보유_현황 *S일자별_자산_현황 M자산_현황_기록 []*S일자별_자산_현황 M주문_체결_기록 []*S매매 M리밸런싱_기록 []*S리밸런싱 M일일_평가액_기록 []*S일일_평가액 M데이터_처리기 I데이터_처리기 }
func (*S포트폴리오) G리밸런싱_기준_가격 ¶
func (*S포트폴리오) G리밸런싱_기준_수량 ¶
func (*S포트폴리오) G보유_종목_코드_모음 ¶
type S필터_정렬_처리기 ¶
type S필터_정렬_처리기[T T팩터_데이터] struct { M저장소 []T Less함수 func(*S필터_정렬_처리기[T], int, int) bool }
func (*S필터_정렬_처리기[T]) G종목코드_모음 ¶
func (s *S필터_정렬_처리기[T]) G종목코드_모음() []string
func (*S필터_정렬_처리기[T]) S등급_산출 ¶
func (s *S필터_정렬_처리기[T]) S등급_산출() *S필터_정렬_처리기[T]
func (*S필터_정렬_처리기[T]) S상위_N개 ¶
func (s *S필터_정렬_처리기[T]) S상위_N개(수량 int) *S필터_정렬_처리기[T]
func (*S필터_정렬_처리기[T]) S전처리 ¶
func (s *S필터_정렬_처리기[T]) S전처리(데이터_처리기 I데이터_처리기) *S필터_정렬_처리기[T]
func (*S필터_정렬_처리기[T]) S정렬 ¶
func (s *S필터_정렬_처리기[T]) S정렬(Less함수 func(*S필터_정렬_처리기[T], int, int) bool) *S필터_정렬_처리기[T]
func (*S필터_정렬_처리기[T]) S필터 ¶
func (s *S필터_정렬_처리기[T]) S필터(필터_함수 func(팩터_데이터 T) bool) *S필터_정렬_처리기[T]
Click to show internal directories.
Click to hide internal directories.