전체 글 318

Composite Pattern

컴포지트 패턴은 객체들을 트리구조로 구성하여 개별 객체와 객체 컬렉션을 동일하게 다루도록 하는 구조적 디자인 패턴이다. 컴포지트 패턴의 구성 요소Component (구성 요소):복합 객체와 개별 객체가 구현해야 하는 공통 인터페이스를 정의한다.복합 객체와 개별 객체를 동일하게 취급하기 위한 메서드들이 정의된다.Leaf (단일 객체):복합 객체의 구성 요소가 되는 개별 객체를 나타낸다.Component 인터페이스를 구현하고, 자식을 가질 수 없다.Composite (복합 객체):Leaf나 다른 Composite 객체를 자식으로 가질 수 있는 객체를 나타낸다.Component 인터페이스를 구현하면서 자식 객체를 관리하는 메서드들이 정의된다.컴포지트 패턴의 예시로 그래픽 객체를 다루는 시스템을 생각해볼 수 있..

디자인 패턴 2024.05.01

Command Pattern

커맨드 패턴은 명령을 객체로 캡슐화하여 관리할 수 있게 한다. 커맨드 패턴이 사용되는 상황요청과 수신자의 분리: 커맨드 패턴을 사용하면 요청을 하는 객체(클라이언트)와 실제 작업을 수행하는 객체(수신자)를 분리할 수 있다.연산의 매개변수화: 커맨드 객체를 사용하면 다양한 연산을 하나의 인터페이스를 통해 호출할 수 있다. 각 커맨드는 특정 연산을 수행하며, 이를 인터페이스로 추상화함으로써 클라이언트는 어떤 작업을 수행할지 결정할 수 있다.작업 취소 및 다시 실행(Undo/Redo): 커맨드 패턴을 사용하면 수행된 명령을 저장하고, 나중에 이 명령을 다시 실행하거나 취소할 수 있는 기능을 구현하기에 용이하다. 이는 Undo 및 Redo 기능을 지원하는 애플리케이션에서 유용하다.큐 형태의 명령 처리: 명령을 ..

디자인 패턴 2024.04.28

Chain Of Responsibility Pattern

책임 연쇄 패턴은 요청을 만족시킬 수 있는 객체를 연결하여 요청을 처리하는 패턴이다.장점요청을 보내는 객체와 요청을 처리하는 객체들 간의 결합을 피하며, 요청을 처리할 수 있는 객체를 동적으로 연결할 수 있게 한다.책임 연쇄 패턴이 사용되는 상황여러 객체가 순차적으로 처리되어야 할 경우요청이 처리할 수 있는 객체가 동적으로 변경되어야 하는 경우요청의 처리자를 명시적으로 지정하지 않고, 체인 상의 객체 중 하나가 처리를 담당할 수 있는 경우구성 요소Handler(처리자) 인터페이스 또는 추상 클래스요청을 처리하는 메서드를 선언한다.다음 처리자를 설정하는 메서드를 정의한다.ConcreteHandler(구체적인 처리자) 클래스Handler를 구현하며 실제로 요청을 처리하는 역할을 한다.자신이 처리할 수 있는 ..

디자인 패턴 2024.04.27

힙정렬

힙정렬(Heap Sort)은 선택 정렬의 한 종류로, 최대 힙(또는 최소 힙) 자료구조를 이용하여 정렬하는 알고리즘이다.힙정렬은 항상 n logn 이다.Heap이란?트리 기반의 데이터 구조로 완전 이진 트리이다.최대 힙 (Max Heap): 부모 노드의 값이 자식 노드의 값보다 크거나 같다. 루트 노드는 항상 최대 값을 가진다.최소 힙 (Min Heap): 부모 노드의 값이 자식 노드의 값보다 작거나 같다. 루트 노드는 항상 최소 값을 가진다.최소힙 예     1                  /  \                3    5               /  \   /  \             4  8  6  9기본적인 동작 방식주어진 배열을 최대 힙(또는 최소 힙) 구조로 만든다. 이는 ..

Bridge Pattern

브리지 패턴은 구현부와 추상화를 분리하여 두 부분이 독립적으로 변형될 수 있도록 하는 패턴이다. 장점 구현과 인터페이스를 완전히 결합하지 않았기에 구현과 추상화 부분을 분리할 수 있다. 추상화된 부분과 실제 구현 부분을 독립적으로 확장할 수 있다. 추상화 부분을 구현 구상 클래스가 바뀌어도 클라이언트에는 영향을 끼치지 않는다. 단점 디자인이 복잡해진다는 단점이 있다. 브리지 패턴이 사용되는 상황 추상화와 구현의 분리가 필요한 경우 시스템의 일부분이 다양한 방식으로 구현될 수 있고, 이 구현들이 독립적으로 확장 및 변경되어야 할 때. 클래스 계층 구조의 확장이 어려운 경우 상속을 통한 구현부의 변경이 어려운 경우에 브리지 패턴은 상속을 대신하여 사용될 수 있다. 예제 interface Renderer { ..

디자인 패턴 2024.04.10

Adapter Pattern

어댑터 패턴은 특정 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환한다. 인터페이스가 호환되지 않아 같이 쓸 수 없었던 클래스를 사용할 수 있게 도와준다. 객체 어댑터와 클래스 어댑터클래스 어댑터(Class Adapter): 구조: 클래스 어댑터는 어댑터 클래스가 타깃(Target) 클래스를 상속하면서 어댑터 패턴을 구현한다. 다중 상속을 지원하는 언어에서만 가능한 방식. 구현: 어댑터 클래스는 타깃 인터페이스를 구현하면서 어댑터 패턴의 메서드를 오버라이딩하여 타깃 클래스의 메서드를 호출한다. // 클래스 어댑터의 예제 interface Target { void request(); } class Adaptee { void specificRequest() { System.out.println("..

디자인 패턴 2024.04.10

최강의 일머리 - 레일 라운즈

Part1. 자신감을 드러내라 01. 당신은 한순간에 결정된다 첫인상은 0.1초 만에 결정된다. 02. 레드카펫 위를 걷는 것처럼 걷자 아침잠을 몇 분 포기하는 한이 있더라도 단장은 집을 나서기 전에 끝내야 한다. 사무실을 들어설 때는 우아하고 활기찬 인사와 함께 들어선다. 03. 걸음걸이의 속도와 방향의 비밀 직장 내에서 어디를 향하든 보폭은 넓고 성큼성큼 힘차게 걸어, 마치 무언가 꼭 마쳐야 하는 미션이 있는 것처럼 보여라. 04. 멀리 내다보는 사람은 몸짓도 담대하다 성공한 사람들, 특히 월등한 실력으로 최고의 자리까지 올라간 지도자들은 품이 넓은 몸짓을 사용한다. 매일 아침 보이지 않는 커다란 비눗방울이 당신 주위를 감싸고 있으며 그 공간은 모두 당신 것임을 느껴보자. 05. 하는 일을 열정적으로..

도서 2024.03.31

가속 듀얼 모멘텀 전략

가속 듀얼 모멘텀 전략(Accelerated Dual Momentum)2018년에 나온 오리지널 듀얼 모멘텀 전략을 업그레이드한 전략이다.오리지널 듀얼 모멘텀 - 미국주식, 글로벌주식 중 최근 가장 많이 오른 자산군을 매수 (상대모멘텀) 예) 최근 1년간 미국 주식은 20% 상승, 글로벌 주식 12% 상승 => 미국 주식 매수 - 두 자산군 수익이 모두 무위험수익 이하면 단기채권 매수 (절대모멘텀) 예) 미국 주식 2%, 글로벌 주식 -5%, 무위험수익(BIL) 4% => 미국 종합 채권 보유 지수(1998-2019) 듀얼 모멘텀: CAGR 10.02%, MDD 19.7%, 샤프지수 0.71 S&P 500: CAGR 7.07%, MDD 51.0%, 샤프지수 0.41 장점 아주 단순하고, 거래가 적다. 단..

금융 2024.03.24

BAA 전략

BAA 공격형 (Bold Asset Allocation Aggressive)BAA는 2022년 Wouter J. Keller가 제안한 동적자산 배분전략으로, 기존에 제안하였던 PAA, VAA, DAA를 결합한 매우 공격적인 전략이다. 논문 : https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4166845Relative and Absolute Momentum in Times of Rising/Low Yields: Bold Asset Allocation (BAA)Relative and Absolute Momentum in Times of Rising/Low Yields: Bold Asset Allocation (BAA) 14 Pages Posted: 25 Jul ..

금융 2024.03.23

거인의 포트폴리오

김환국 작가의 퀀트 투자 시리즈 중 동작 자산 배분(모멘텀 투자)을 다루는 책이다. 모멘텀이란?"모멘텀"은 주식 시장에서 특정 자산이나 시장이 일정 기간 동안 상승 또는 하락 추세를 보이고 있는 현상을 가리킨다. 이는 주가 또는 시장의 동향이 일정 기간 동안 계속되는 경향을 의미한다. 모멘텀 투자 전략은 이러한 모멘텀을 활용하여 주식이나 다른 자산을 선택하고, 이러한 추세가 지속될 것으로 예상하여 해당 자산을 보유하는 전략이다. 상대 모멘텀 전략 (Relative Momentum Strategy)상대 모멘텀 전략은 자산 간의 성과를 비교하여 가장 강한 성과를 보인 자산을 선택하는 전략이다. 예를 들어, 상대 모멘텀 전략은 일정 기간 동안 주식 A, B, C의 성과를 비교하여 그중 성과가 가장 좋은 주식을..

금융 2024.03.23
728x90