분류 전체보기(66)
-
프로그래머스 lv0 - 문자열 뒤집기
문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요. def solution(my_string, s, e): return my_string[:s]+my_string[s:e+1][::-1]+my_string[e+1:] reversed는 reverse 객체를 return. for문 대신 slicing이 간편한 경우가 많다.
2023.07.01 -
프로그래머스 lv0 - 주사위 게임
문제 설명 1부터 6까지 숫자가 적힌 주사위가 네 개 있습니다. 네 주사위를 굴렸을 때 나온 숫자에 따라 다음과 같은 점수를 얻습니다. 네 주사위에서 나온 숫자가 모두 p로 같다면 1111 × p점을 얻습니다. 세 주사위에서 나온 숫자가 p로 같고 나머지 다른 주사위에서 나온 숫자가 q(p ≠ q)라면 (10 × p + q)2 점을 얻습니다. 주사위가 두 개씩 같은 값이 나오고, 나온 숫자를 각각 p, q(p ≠ q)라고 한다면 (p + q) × |p - q|점을 얻습니다. 어느 두 주사위에서 나온 숫자가 p로 같고 나머지 두 주사위에서 나온 숫자가 각각 p와 다른 q, r(q ≠ r)이라면 q × r점을 얻습니다. 네 주사위에 적힌 숫자가 모두 다르다면 나온 숫자 중 가장 작은 숫자 만큼의 점수를 얻습..
2023.07.01 -
프로그래머스 lv0 - 배열 만들기
정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다. def solution(l, r): answer = [] for num in range(l, r + 1): if not set(str(num)) - set(['0', '5']): answer.append(num) return answer if answer else [-1] 파이썬 set은 집합 연산이 된다.
2023.07.01 -
프로그래머스 lv0 - 코드처리하기
def solution(code): answer = '' mode =0 for idx, i in enumerate(code): if mode ==0: if i != '1': if idx%2 ==0: answer += i else: mode = 1 else: if i != '1': if idx%2 ==1: answer += i else: mode = 0 if answer == "": answer = "EMPTY" return answer def solution(code): return "".join(code.split("1"))[::2] or "EMPTY"
2023.07.01 -
EMA Cross 전략 백테스트
오늘은 EMA(지수 이동평균선)을 활용해서 전략을 짜봤어요. 이것 저것 실험해보다 지쳐서 그냥 추세를 무지성 추종하면 어떨까라는 생각에서 나온 전략입니다. 1. 가격이 20일 EMA 상향/하향 위/아래에 있을 때 지속적으로 Long/Short 진입 신호 2. 10일 EMA 하향/상향 돌파시 청산 3. 시드는 170개(전체 future market 종목 개수)로 나누어 투자 CAGR 40%에 MDD 30%... 왜 22년 하락장에는 수익이 안날까요? Short은 수익이 났는데, Long이 수익이 안났네요. 들어가지 말아야 할 때 들어간 게 잘못인 것 같습니다. 일자를 바꿔보면 어떨까요? 진입 10일 이동평균선, 청산 5일 이동평균선으로 바꿔봤습니다. 이번에는 진입에는 20일 이동평균선, 청산에는 5일 이동..
2023.06.30 -
상장 직후 코인 공매도 전략 백테스팅
주식에는 공모주가 있듯이 코인에도 ICO(Initial Coin Opening)이 있어 거래소에 상장을 진행합니다. 보통 상장 직후부터 하루 동안 최고점(200%~1000%)까지 찍고 천천히 하락하는 것이 일반적입니다. 여기에 맞게 상장 직후 코인을 구매하고 상장일 종가에 판매하는 전략은 어떨까요? 아쉽지만 불가능합니다. 상장 직후 1분만에 코인이 폭등하는데, 싱가폴 바이낸스 서버 바로 옆에 봇을 만들어 놓지 않는 이상 상장가와 비슷한 가격에 구매는 불가능합니다. 그렇다면 1일 종가에 공매도를 치고 이후에 청산을 하는 전략은 어떨까요? 제가 한번 백테스팅 해봤습니다. 상세 조건은 다음과 같습니다. 1. 시드 5등분 2. 1일(상장일) 종가에 short 3. 지정일 종가에 청산 5일 후 청산입니다. MDD..
2023.06.30