9월, 2024의 게시물 표시

추천 게시물

비트코인이 2025년 2억 가능한 이유

이미지
지난번에 비트코인이 2억 갈꺼라는 글을 썼는데, 글로만 전달하면 뭔가 아쉬워서 AI 음성을 사용해서 숏츠 영상도 만들었다. 매 반감기 마다 발행량은 줄어들고, 비트코인의 가격 상승도 점점 줄어든다. 코인이 시중에 풀리면서 점점 무거워지는 것은 다연해 보이며, 로그 차트에서의 기울기가 피보나치 비율을 추종한다는 것이 매우 흥미롭다. 아마 이번 예상이 맞는다면 나는 내년엔 더 좋은 지역으로 이사를 갈 수 있을 것 같다. 아래는 쇼츠 영상이니 투자에 참고하길 바란다.

파이썬 (Python) 독립 성분 분석 (ICA) 예제 코드

파이썬으로 독립 성분 분석 (Independent component analysis, 이하 ICA)를 활용하여 독립 성분을 추출하는 예제 코드이다. 실행하기 전에 numpy, matplotlib, sklearn을 미리 설치 해야한다. pip install numpy pip install scikit-learn pip install numpy 아래는 파이썬 코드이다. 두 성분 X, Y가 서로 다른 비율로 조합되어 생성된 신호 A, B를 만들고, 두 신호를 fastICA로 분리하고 잘 분리가 되었는지 Plot으로 확인한다. import numpy as np import matplotlib.pyplot as plt from sklearn.decomposition import FastICA # 샘플 데이터 생성 np.random.seed(0) time = np.linspace(0, 1, 500) X = np.sin(2 * np.pi * 7 * time) # X 성분 (주파수 7Hz) Y = np.sin(2 * np.pi * 13 * time) # Y 성분 (주파수 13Hz) # 실제 신호 A, B 생성 A = 0.5 * X + 0.2 * Y + 0.05 B = 0.1 * X + 0.4 * Y + 0.05 # 두 신호를 행렬로 만듭니다 (2 x N) signals = np.c_[A, B] # 독립 성분 분석 (ICA) ica = FastICA(n_components=2) components = ica.fit_transform(signals) # 분리된 신호 플롯 plt.figure(figsize=(10, 10)) # Original A Signal plt.subplot(4, 1, 1) plt.plot(time, A, label='Original A Signal') plt.legend() plt.title('Original Signals and ICA Components') # Original B Signal plt

켈리 공식 유도와 켈리 공식의 유도

 켈리 공식(Kelly Criterion)은 도박이나 투자에서 수익을 극대화하면서도 파산 가능성을 최소화하는 최적의 베팅 금액을 계산하는 수학적 공식이다. 이 공식은 정보 이론을 연구하던 존 켈리(John Kelly)에 의해 1956년에 처음 제안되었다. 켈리 공식을 사용하면, 베팅이나 투자의 기대수익을 극대화할 수 있으며, 위험을 효과적으로 관리할 수 있다. 켈리 공식 켈리 공식은 다음과 같다. f ∗ = b p − q b f^* = \frac{bp - q}{b} ​ f ∗ f^*  : 총 자산에서 베팅할 비율 (Optimal Bet Fraction) b b  : 베팅에서 승리할 경우의 배당 (예를 들어, 1:1일 경우 b = 1 b = 1 ) p p  : 베팅에서 이길 확률 (win probability) q q   : 베팅에서 질 확률 ( q = 1 − p q = 1 - p ) 이 공식은 주어진 조건 하에서, 자산의 비율을 최적화하여 장기적인 수익을 최대화하는 비율을 나타낸다. 켈리 공식 유도 문제 정의 : 당신은 베팅을 여러 번 반복하며, 각 베팅에서 자산의 일정 비율 f f f 를 걸고 있다. 이길 확률이 p p p , 질 확률이 1 − p 1 - p 1 − p , 승리 시 수익 배율이 b b b 인 베팅 상황에서, 베팅 비율 f f f 를 어떻게 정해야 하는지 결정하는 문제다. 기대 자산의 수익률 계산 : 베팅을 한 번 했을 때의 결과는 두 가지다: 이길 경우: 자산은 ( 1 + f ⋅ b ) (1 + f \cdot b)  배 증가. 질 경우: 자산은 ( 1 − f ) (1 - f)  배 감소. 따라서 n n 번 베팅 후 자산을 최대화하려면 다음을 최대화해야 한다. E [ log ( W ) ] = p ⋅ log ⁡ ( 1 + f ⋅ b ) + ( 1 − p ) ⋅ log ⁡ ( 1 − f ) E[\text{log}(W)] = p \cdot \log(1 + f \cdot b) + (1 - p) \cdot \log(1 - f) 여기서 E [ log (

해외 코인 선물 거래소 레퍼럴 홍보 주요 5가지 방법

 해외 코인 선물 거래소의 레퍼럴 프로그램을 효과적으로 홍보하는 방법은 다양하다. 하지만 모든 전략을 동시에 적용하기 어렵기 때문에, 가장 효과적이고 실질적인 5가지 방법을 소개하고자 한다. 레퍼럴 홍보의 5가지 방법 1. 유튜브 쇼츠 활용 유튜브 쇼츠는 짧고 강렬한 영상으로 많은 사람들에게 도달할 수 있는 좋은 플랫폼이다. 코인 선물 거래의 간단한 팁이나 거래소 사용법을 짧은 영상으로 소개하면서 레퍼럴 링크를 포함하면 큰 효과를 볼 수 있다. 이 방법은 유입 속도가 빠르고, 모바일 사용자들에게 적합하다. 나는 현재의 인터넷 환경에서 처음 시작하는 사람들에겐 유튜브 쇼츠를 통한 유입을 가장 추천한다. 2. 소셜 미디어 홍보 트위터, 텔레그램, 디스코드와 같은 소셜 미디어 플랫폼은 가상화폐 투자자들이 많이 모여 있는 공간이다. 적극적으로 관련 커뮤니티에 참여하여 신뢰를 쌓고, 거래소의 장점과 레퍼럴 혜택을 소개하는 것이 좋다. 특히 코인 선물 거래소에서 제공하는 혜택이나 수수료 할인을 강조하며 자연스럽게 레퍼럴 링크를 배포할 수 있다. 3. 이벤트 및 인센티브 레퍼럴 가입자만 참여 가능한 대회나 이벤트를 개최하는 것도 좋은 방법이다. 예를 들어, 일정 금액 이상의 거래를 한 레퍼럴 가입자에게 특별 보상을 제공하는 이벤트를 통해 신규 가입자가 실거래로 이어지게 만들 수 있다. 이는 단순 홍보를 넘어 실제 거래 참여를 유도하는 강력한 방법이다. 특히 큰 상금이 걸린 대회를 개최하고 레퍼럴 링크를 통해 가입한 사람만 참가 가능하도록 하여 가입을 유도하는 방식도 있다. 4. SEO 최적화된 블로그 포스팅 거래소 관련 리뷰나 가이드 글을 작성하고, 검색 엔진 최적화를 통해 상위에 노출되게 하는 방법도 효과적이다. 많은 사람들이 검색하는 질문이나 문제를 해결하는 글을 작성하면서 레퍼럴 링크를 자연스럽게 포함하면, 오랜 기간 동안 안정적인 유입을 기대할 수 있다. 5. 인플루언서 마케팅 코인 관련 인플루언서가 되어 팬층을 형성하고, 이들에게 거래소를 추천하는 방법이다. 인플

켈리 공식 계산기 (진입 비율에 따른 변화)

진입 비율에 따른 켈리 공식 확인 진입 비율을 높일 수록 이겼을 때의 수익은 커지지만 졌을 때의 손실 역시 커진다.  욕심에 사로잡혀 승률과 기대 값만 보고 무리한 투자를 하면 손실로 이어진다. 50%이상의 승률과 좋은 손익비로 투자를 하더라도 진입 비중이 일정 수준을 넘어가면 손실로 전환된다. 본인이 생각했을 때 충분히 가능할 듯한 최적의 승률을 입력한 뒤 투자 비율을 얼마까지 가져가야 할지 판단해 보기 바란다. 켈리 계산기 이용방법 승률: 도박이나 투자에서 수익을 얻을 확률 승리 시 이익: 투자 수익률, 도박에서 베팅액 기준 얻는 돈 손실: 투자 손실율, 도박에서 베팅액 잃는 돈.  최소 수익: 차트 표시 옵션. 수익률이 표시되는 최소 지점을 보여준다. -100%로 하면 전재산을 잃는 지점까지 표시하라는 의미이다. 예를 들어, 6면체 주사위의 짝수가 나오면 베팅 금액의 3배를 돌려받고, 홀수가 나오면 0원을 돌려 받는 다고 하면, 이익은 +200%, 손실은 (-100%)이다. 홀짝은 50% 승률이므로 아래와 같이 입력한다. 승률: 50 / 승리 시 이익: 200 / 손실: 100 결과: 최적의 베팅 비율은 자산의 25%이며, 1회당 수익률은 6.07%이다. Kelly Criterion Calculator 승률 (Win Probability, %): 승리 시 이익 (Win Gain, %): 손실 (Loss, %): 최소 수익 (Min Return, %), >-100%: 차트 업데이트 (Update Chart)

켈리 공식 계산기 (승률에 따른 변화)

이미지
승률의 변화로 보는 켈리 공식 켈리 공식을 계산할 때 승률을 명확히 알 수 없는 경우가 있다. 도박과 같이 승률이 명확한 경우는 그 승률을 입력하면 되지만, 투자는 승률을 정확히 알기 어렵다.  이는 다양한 투자 환경의 변화 때문이다. 투자환경은 투자자들의 실력의 향상으로 과거의 투자 방식이 적용되지 않거나, 투자 대상의 변동성과 내재가치의 변화, 거시적 지표의 변화 등에 의해 달라진다.  우리가 승률의 예측에 틀리더라도 욕심을 부리지 않고 베팅 비율을 적절히 유지한다면 크게 손해 보지 않지만 과도한 욕심을 부리면 손실로 이어질 수 있다.  진입 비율이 일정할 때 승률에 따른 수익률의 변화를 확인해 보자. 켈리 계산기 이용방법 베팅 비율: 도박이나 투자에서 자본 대비 베팅하는 금액 승리 시 이익: 투자 수익률, 도박에서 베팅액 기준 얻는 돈 손실: 투자 손실율, 도박에서 베팅액 기준 잃는 돈.  위의 값을 입력한 뒤 차트 업데이트를 클릭한다. 계산기 예제 예를 들어, 어떤 시스템 트레이딩 봇의 손절은 -5%, 익절은 20% 이다.  나의 총 투자금에서 50%를 투자할 계획이며, 과거 거래 시뮬레이션에서 승률은 40%이다. 만약 앞으로 승률이 그 보다 더 낮아진다면 수익을 얻을 수 있을지 알고 싶다. 아래와 같이 입력하자. 베팅 비율: 50 / 승리 시 이익: 20 / 손실: 5  계산기 결과 해석 아래는 예제를 입력했을 때 결과이다. 그래프: 1회 시행 당 예상 수익, X축은 승률이다. 설정 된 배팅 비율, 익절, 손절 비율이다. 수익=0 Point: 수익이 마이너스로 전환되는 지점. 20.

z-transform 공식에서 z^-n의 의미

z-transform은 이산 시간 신호를 주파수 도메인에서 분석하기 위한 중요한 도구입니다. 신호 처리와 제어 시스템에서 많이 사용되지만, 처음 접할 때는 낯설게 느껴질 수 있습니다. 하지만 그 원리를 이해하면 시스템을 분석하고 설계할 때 매우 유용한 도구가 됩니다. 이번 글에서는 z-transform이 무엇을 의미하는지, 그리고 이를 어떻게 해석할 수 있는지 초심자도 쉽게 이해할 수 있도록 설명하겠습니다. 1. z-transform이란? 우선, z-transform의 공식부터 살펴보겠습니다: Y ( z ) = ∑ n = − ∞ ∞ y [ n ] z − n Y(z) = \sum_{n=-\infty}^{\infty} y[n] z^{-n} 시간 도메인에서의 신호 : y [ n ] = { 1 , 2 , 3 } y[n] = \{1, 2, 3\} 이라고 가정해 봅시다. 주파수 도메인으로 변환 : 각 샘플에 z − n z^{-n} 을 곱하고, 모든 샘플의 합을 구합니다. Y ( z ) = 1 ⋅ z 0 + 2 ⋅ z − 1 + 3 ⋅ z − 2 Y(z) = 1 \cdot z^{0} + 2 \cdot z^{-1} + 3 \cdot z^{-2} 여기서: y [ n ] y[n] 은 시간 도메인에서의 이산 신호입니다. 예를 들어, y [ 0 ] = 1 y[0] = 1 ,  y [ 1 ] = 2,  y [ 2 ] = 3 이런 식으로 정의될 수 있습니다. z z 는 복소수 변수로, 주파수 성분과 관련이 있습니다. z − n z^{-n} 은 각 샘플 y [ n ] y[n] 이 주파수 도메인에서 어디에 위치하는지를 나타냅니다. 이 공식을 통해 우리는 시간 도메인의 신호를 주파수 도메인으로 변환하여 신호의 주파수 특성을 분석할 수 있게 됩니다. 2. z-transform의 의미: 신호의 주파수 성분 분석 z-transform은 각 시간 샘플 y [ n ] y[n] y [ n ] 이 신호 전체에서 차지하는 비율이나 주파수 특성을 표현하는 데 사용됩니다. 예를 들어, 신호가 특정 주파수 성

VIM에서 VIMDIFF 실행 및 VIMDIFF 단축키

 어떤 두 파일의 다른 점을 비교해야하는 경우가 많다. 특히 어떤 파일을 수정하고 뭘 고쳤는지 까먹었다거나, 데이터들의 차이를 비교하는 등의 경우에 활용도가 높다. VIMDIFF를 사용해서 바로 두 파일을 비교해도 되지만 VIMDIFF 파일명 파일명을 치기도 귀찮고, 열려있는 VIM을 그대로 활용하고 싶을 때가 많다. 그럴 때 아래와 같이 현재 열려있는 VIM 창에서 바로 VIMDIFF를 할 수 있다. 1. ^w+v로 창을 2개로 분리한다. 그럼 두 창 모두 현재 파일이 보일 것이다. 2. 둘 중 한개의 창에 다른 파일을 open한다. (불러오는 단축키는 :e, 새롭게 생성하는 커맨드는 :enew) 3. :diffthis 를 커맨드로 입력한다. 4. vimdiff를 종료하고 싶으면 :diffoff 를 입력한다. 5. ^w+c를 입력하여 2개의 창 중 1개를 닫는다. 아래는 VIMDIFF에서 내가 주로 사용하는 단축키 들이다. ^w + (좌우)화살표 : 활성 윈도우 선택 dp : 현재 윈도우의 라인을 다른 윈도우의 내용으로 변경 여러 줄 변경이 필요하면 Visual Mode로 진입한 뒤 :'<,'>diffget 을 커맨드에 입력한다. :'<,'>는 Visual에서 :을 입력하면 바로 선행 입력된다. do : 반대로 다른 윈도우의 내용을 현재 윈도우의 내용으로 변경한다. 커맨드로는 diffput이다. zo : 동일한 내용이 접혀있으면 펼쳐서 보여준다. zc : 일치하는 내용은 접는다. zr : 양쪽 윈도우 모두 펼친다. zm : 양쪽 윈도우 모두 접는다.

Bitget 선물 1분봉 (1min candle, ohlc) 데이터 수집 코드 (파이썬)

퀀트 트레이딩 시스템을 개발하고 적용하기 위해서는 아이디어가 잘 작동하는지 확인하는 작업이 필요하다. 나같은 회로 개발자들은 Testbench 또는 시뮬레이션이라 부르는데, 이 쪽 분야에서는 백테스트(Backtest)라는 용어가 흔히 사용된다. 이 Backtest를 하기 위해서 다양한 데이터가 필요한데, 일반적으로 차트 분석을 기반으로 하는 시스템 트레이딩은 캔들(시고저종)과 거래량이 주요 지표이다. 이 글을 검색해서 왔다면 뭐 다 아는 얘기일테니 서론은 이만하고 바로 코드를 예시로 적어보겠다. import configparser import hmac import base64 import json import time import os import requests import pandas as pd from datetime import datetime, timedelta import pytz import hashlib # Configurations config = configparser.ConfigParser() config.read( 'config.ini' ) try : API_KEY = config.get( 'bitget' , 'API_KEY' ) API_SECRET_KEY = config.get( 'bitget' , 'API_SECRET' ) except configparser.NoOptionError as e: print ( f"Config error: { e } " ) API_KEY = 'your_api_key_here' API_SECRET_KEY = 'your_secret_key_here' API_BASE_URL = 'https://api.bitget.com' # Helper functions def get_timestamp (): ret