종가 과대 관여 경고를 먹다.

투자 이야기 2025. 5. 16. 12:26 Posted by UnHa Kim

소형주 종목이 다수 포함된 전략을 운용하다보면 거래소로부터 경고를 받을 때가 있다.

유동성이 낮아서 장중에 보통 주문으로는 체결되지 않은 채, 동시 호가 시간이 도래하고, 전략 수행의 슬리피지(시간적 지연)가 과도하게 커지는 것을 방지하기 위하여, 주문 체결 우선권을 가질 목적으로 현재가에서 약간 벗어난 호가를 제출하거나, 시장가 주문을 제출하면, 해당 날짜에 유동성이 유독 낮은 경우가 걸리면 아주 소액의 주문만 체결되었는 데도 거래소로부터 경고가 날라오기도 한다.

심지어 20만원짜리 주문 때문에 경고를 받은 적도 있다.

(20만원으로 시장을 왜곡한다고요??)

 

KRX의 시장 모니터링 시스템이 거래 규모는 고려하지 않고, 개별 종목의 유동성이나 특수성을 무시한 채, 무차별적으로 경고를 남발하는 것으로 보인다.

어쨌든, 다음날 증권사 직원으로부터 경고 전화를 받고 나면 하루종일 기분 망치는 것이 사실이다.

고의로 나쁜 짓을 한 것도 아니고, 수십 종목으로 분산되어 있어서, 개별 종목 매매 금액은 정말 작은 데, 그걸 가지고 트집잡는 KRX의 수준 낮은 모니터링 시스템이 원망스럽지만 KRX는 개선 의지가 전혀 없는 것 같다.

 

그렇다고 슬리피지가 무한정 늘어나는 것을 용인할 수도 없으니, 그나마 거래가 가장 활발한 동시 호가 주문 시간에 주문 체결 우선권을 포기할 수도 없는 노릇이다.

 

최근에는 경고를 거의 안 받고 몇 달을 보냈는 데 오늘 또 다시 경고 전화를 받았다.

답답한 마음에 증권사 직원에게 이렇게 작은 금액의 주문이 도대체 왜 경고를 받는 지 물어봤더니, 주문 호가가 장중 고가/저가를 넘어서거나 근접하면 경고가 발생되는 것 같다는 말을 들었다.

 

동시 호가 산출 모듈에 호가가 장중 고가/저가를 넘어서지 않도록 필터를 추가했다.

앞으로 경고 받는 빈도가 줄어들었으면 좋겠다.

금 수요 분석? (뒷북)

투자 이야기 2025. 4. 14. 15:21 Posted by UnHa Kim

2024년 금의 수요는 대략 5천톤 정도이었다.

보석/장신구류 수요가 2천톤 가량으로 비중이 가장 높다.

중앙은행의 매입이 3년 연속 1천톤 넘게 이어지고 있다.

금괴/금화/ETF등 각종 투자 수요가 1천톤 가량을 차지했다.

산업재로서의 수요는 3백톤 가량으로 비중이 낮다.

 

(금값이 너무 올라서 그런지) 보석/장신구로서의 수요는 200톤 가량 감소했고,

AI열풍에 따라서 산업재 수요는 20톤 가량 증가했지만,

중앙은행과 금괴 투자가 가장 큰 변수이다.

 

https://www.gold.org/goldhub/research/gold-demand-trends/gold-demand-trends-full-year-2024

 

Gold Demand Trends: Full Year 2024

5 February, 2025 Gold demand hits new record in 2024Central banks and investors drive market strengthTotal gold demand (including OTC investment) rose 1% y/y in Q4 to reach a new quarterly high and contribute to a record annual total of 4,974t.Central bank

www.gold.org

 

최근 금값 상승세가 강한 이유는 중앙은행의 매입으로 꼽힌다.

2011~2021년 기간에 매년 평균 500톤 가량 매입하던 중앙은행들이 2022년부터 갑자기 1천톤 이상 매입을 지속하고 있다.

그리고, 금값이 뛰면서 덩달아 상승 추세에 올라타려는 투자 수요도 증가한 것으로 보인다.

 

연도별 중앙은행 금 매입량 차트 (2010~2023)

(https://www.gold.org/goldhub/research/gold-demand-trends/gold-demand-trends-q1-2024/central-banks)

 

2024년 1분기 국가별 순매수/순매도량

통화 가치 붕괴가 심각한 터키에서 매입량이 가장 많았고,

중국/인도가 2, 3등이었다.

 

터키의 리라화가 붕괴하면서 금이 '최후의 가치 저장 수단'으로서 각광받는 현상은, 금이 수천년 째 지녔던 특수한 성격이 21세기에도 변함없이 이어지고 있다는 증거이다.

 

'가치 저장 수단'으로서 '금'과 '미국 달러화'는 경쟁 관계에 놓여 있으므로,

미국 달러화 체제를 지켜야 하는 FRB로서는 금값 상승을 부추길 수 있는 금리 하락이나 양적 완화 같은 정책을 쓸 때 신중해 질 수 밖에 없을 것 같다.

 

이렇게 미국 통화 정책 운신의 폭이 좁아진 현 상황은 바이든 전 미국 대통령이 러시아-우크라이나 전쟁에 대응책으로 '러시아 자산 동결' 및 '달러화 결제망에서 러시아를 퇴출'한 정책에서 시작되었다고 추정한다. (개인적 뇌피셜)

러시아-우크라이나 전쟁 발발 시기인 2022년부터 중앙은행 금 매입이 2배 폭증한 것도그러하고,

미국과 관계 악화 우려가 있는 중국 및 전통적으로 러시아과 관계가 좋은 인도가 금 매입 상위권에 위치한 것도 그러하다.

 

그래서, 이러한 사태의 원인을 해결하려면 트럼프 대통령이 러시아와 휴전에 합의하고, 러시아에 대해서 자산 동결 해제 및 달러화 결제망 재편입을 해서 '가치 저장 수단'으로서의 달러화에 대한 불안감을 가라앉혀야 해결의 실마리가 풀릴 것 같다.

러시아가 옳다거나, 트럼프가 잘했다는 것이 아니라, 불안감을 가라앉혀서 미국 달러화 체제를 유지하려면 그 방법 밖에 없어보인다는 말이다.

비록, 관세 전쟁으로 전세계 경제를 초토화 시키고 있는 트럼프이지만, 친러시아 정책을 펼치는 것은 나름 근거가 있는 판단으로 보인다.

다만, 관세 전쟁으로 교역량이 축소되면 달러화 수요가 줄어드니까 달러화가 약해지고, 반대 급부로 금이 가치 저장 수단으로서 더욱 각광받을 가능성이 높아진 것은 트럼프의 실책이다.

 

개인적 추정

- 바이든이 제 발등을 찍은 듯.

- 트럼프는 바이든의 실책을 되돌리려는 것까지는 좋은 데, 관세 전쟁을 일으키면 어떻게 해??

 

최근 AI업계에서 핫한 주제 중 하나로 MCP(Model Context Protocol)라는 규격이 있다.

그동안 AI는 두뇌만 있고, 손발이 없는 형국이었는 데, 이제 AI에게 손발을 붙여주고, 두뇌와 손발 사이에 MCP규약을 통해서 통신을 하도록 해서 통합 자동화 시스템 구축이 가능해 진 것이다.

이렇게, AI의 손발 역할을 해 주는 소프트웨어를 기술적 용어로 'MCP 서버'라고 부른다.

MCP라는 규격이 발표된 지 채 1년도 지나지 않았는 데, 이미 수천개의 'MCP서버'가 발표되었다.

(https://www.pulsemcp.com/)

 

아직까지는 대부분의 MCP서버가 소프트웨어 개발에 필요한 작업을 수행하는 도구들이다.

그런데, 이제 소프트웨어 개발 범주를 넘어서 날씨 검색, 티켓 예약등 온라인으로 수행 가능한 여러 방면의 작업으로 확장되고 있다.

 

그런데... 이제 금융 쪽으로도 확장되고 있다.

https://www.pulsemcp.com/servers/dragon1086-kospi-kosdaq-stock

 

KOSPI/KOSDAQ Stock Data MCP Server by Sangrok Mun | PulseMCP

MCP (Model Context Protocol) Server. Integrates with pykrx to provide real-time access to KOSPI and KOSDAQ stock market data, offering tools for retrieving ticker symbols, OHLCV data, market capitalization, fundamental metrics, and trading volumes.

www.pulsemcp.com

 

기능 설명 : 코스피/코스닥 주식 시장 데이터에 실시간으로 접근해서, 종목코드/일일 가격정보/시가총액/재무지표/거래량등의 정보를 제공.

 

AI가 실시간으로 한국 주식 시장 정보를 검색할 수 있도록 도와주는 도구(MCP서버)인 것이다.

 

한국 주식시장만 있는 게 아니다.

미국 기업 재무 정보 도구 : https://www.pulsemcp.com/servers/financial-datasets

미국 재무부 발표 매크로 정보 도구 : https://www.pulsemcp.com/servers/quantgeekdev-fiscal-data

암호 화폐 시장 정보 도구 : https://www.pulsemcp.com/servers/longmans-coin-api

중국 주식 시장 정보 도구 : https://www.pulsemcp.com/servers/ttjslbz001-akshare

 

이제 엑셀이나 프로그래밍을 하지 않아도, AI에게 한글로 명령하면 (엑셀이나 여타 데이터 분석 작업없이) 종목을 분석해 주는 시대가 올 수도 있다는 의미이다.

 

아직 직접 사용해 보지 않아서, 실제로 어느 정도로 매끄럽게 작동하는 지 확인해 보지는 못했지만, MCP 규약이 발표된 지 1년도 채 지나지 않은 현 시점에 AI에 금융 정보 도구를 장착하려는 수많은 시도가 출현한다는 사실은 주목할 만하다.

 

유명 코딩 유튜버의 MCP 소개 영상도 예제가 AI에 주식 매매 도구 장착하기 이다.

https://www.youtube.com/watch?v=EswVjHZMn74

 

시간이 좀 더 흐르면 AI에 가격 정보뿐만 아니라, 기업 재무 정보 도구, 매매 도구까지 장착해서, AI에게 투자 전략을 한글로 설명하면, AI가 알아서 전략에 따라 매매를 실행해 주는 시대가 올 지도 모르겠다.

(소프트웨어 개발 분야의 경우 '바이브 코딩'이라고 해서 AI에게 말로 설명해서 개발하는 시대가 시작되었는 데, 투자 업계에도 이렇게 바뀔 수 있다.)

 

 

 

 

 

모니시 파브라이는 투자는 극도의 인내심이 필요하며, 투자자의 매매 활동은 수익에 도움이 안 되며, 오히려 수익을 까먹는 경향이 있다는 설명을 한다.

그 근거로 피델리티의 통계를 인용하는 데,  고객 계좌 중 수익율이 가장 높은 10%는 대부분 휴면계좌이거나 계좌의 존재를 잊어버린 죽은 계좌 이었다고 한다.

 

앙드레 코스톨라니가 우량주 매수 후 수면제 먹고 2년 간 자고 일어나면 수익이 나 있을 것이라고 했던 발언과 일맥상통한다.

 

말은 쉬운 데 실천하기는 어려운 것 같다.

극도의 인내심이라는 게 누구나 가지고 있는 것은 아닌 듯.

 

https://www.youtube.com/watch?v=hc5IJz8PAxM

 

Julia언어로 '상장 법인 정보'를 획득하는 기능을 작성해봤다.

 

소스 코드는 다음 함수 3개로 되어 있다.

- f상장_법인_정보() : KRX 웹사이트에서 상장 법인 정보를 추출하는 함수.

- csv저장_법인_정보() : f상장_법인_정보()로 얻은 데이터를 CSV파일로 저장.

- csv읽기_법인_정보() : 저장된 CSV파일을 불러옴.

 

------------------------------

using Dates
using InlineStrings
using DataFrames
using TypedTables
using HTTP
using Gumbo
using Cascadia
using StringEncodings
using CSV


# KRX 웹사이트에서 상장 법인 정보를 얻는 함수.
function f상장_법인_정보()::Table
    상장_법인_정보 = DataFrame(
        종목코드=String7[], # 종목코드는 길이가 일정하므로, 고정폭 문자열 자료형 사용.
        회사명=String[],
        업종=String[],
        주요제품=String[],
        상장일=Date[],
        결산월=UInt8[])

    # KRX 상장 법인 정보 URL
    url = "https://kind.krx.co.kr/corpgeneral/corpList.do?method=download&searchType=13"
    응답값 = HTTP.get(url)
    응답_문자열 = StringEncodings.decode(응답값.body, "EUC-KR") # EUC-KR인코딩을 UTF-8인코딩으로 변환

    # Gumbo.jl을 이용해서 HTML 파싱.
    문서 = parsehtml(응답_문자열)

    # Cascadia.jl을 사용해서 테이블의 행을 추출.
    rows = eachmatch(Selector("body > table > tbody > tr"), 문서.root)

    # 각각의 행(tr)에서 정보를 추출하는 반복문.
    for tr in rows
        cols = eachmatch(Selector("td"), tr)

        회사명 = ""
        종목코드 = ""
        업종 = ""
        주요제품 = ""
        상장일 = Date(0)
        결산월 = 0

        for (열, td) in enumerate(cols)
            문자열 = strip(text(td))  # 공백 문자 제거

            if 열 == 1
                회사명 = 문자열
            elseif 열 == 2
                종목코드 = 문자열
            elseif 열 == 3
                업종 = 문자열
            elseif 열 == 4
                주요제품 = 문자열
            elseif 열 == 5
                try
                    상장일 = Date(문자열, "yyyy-mm-dd")
                catch e
                    println("상장일 에러 : $(종목코드) '$문자열'")
                end
            elseif 열 == 6
                결산월 = tryparse(UInt8, match(r"\d+", 문자열).match)
            end
        end

        if !isempty(종목코드) && !isempty(회사명) && !isempty(업종) && 상장일 != Date(0)
            push!(상장_법인_정보, Dict(
                :종목코드 => 종목코드,
                :회사명 => 회사명,
                :업종 => 업종,
                :주요제품 => 주요제품,
                :상장일 => 상장일,
                :결산월 => 결산월))
        end
    end

    # println("행 수량 : $(length(rows))")
    println("법인정보 수량 : $(nrow(상장_법인_정보))")

    # Type-stable TypedTables.jl형태로 반환.
    # 어쩌면 그냥 DataFrame을 그대로 쓰는 게 나을런지도.
    return Table(상장_법인_정보)
end

function csv저장_법인_정보()
    CSV.write("krx_ticker.csv", f상장_법인_정보())
end

function csv읽기_법인_정보()::Table
    return CSV.read("krx_ticker.csv", Table, types=Dict(1 => String, 5 => Date, 6 => UInt8))
end

# f상장_법인_정보()
# csv저장_법인_정보()
# csv읽기_법인_정보()

사치품은 가격이 오를수록 오픈런, 사재기, 되팔이등이 발생하면서 수요가 증가한다.

식료품은 가격이 내릴수록 할인행사를 놓치지 않으려고 수요가 증가한다.

둘 다 현실 세계에서 흔하게 발생하는 현상이다.

 

https://www.youtube.com/watch?v=k2ptte1MYlo

 

워렌 버핏이 주식을 (사치품이 아니라) 식료품 사듯이 산다는 말을 처음으로 들었을 때는 그게 당연하다고 생각했다.

그런데, 경험이 쌓일수록 떨어지는 칼날은 잡는 게 아니라는 것을 깨달았다.

주식을 식료품 사듯이 산다는 것은 시장의 등락에 무관하게 자신의 판단대로 장기간 보유할 수 있는 워렌 버핏에게는 맞는 말이겠지만, 대부분의 사람은 하락 추세가 지속되거나, 좀처럼 반등하지 않고 오랜 시간 바닥을 기어다니면, 멘탈이 나가서 못 버티고 최악의 시점에 매도하는 경우가 흔하다.

 

게다가, 워렌 버핏은 항상 시장을 모른다고 말하면서도 마켓 타이밍을 귀신같이 한다.

2001년 IT버블은 피해갔으며,

2009년(리먼 사태 다음 해)에 시장이 반등하기 시작하는 시점에 철도 회사(BNSF)를 줍줍했다.

큰 폭락 사태가 발생해도 타격을 적게 받거나, 금방 회복하거나, 혹은 거꾸로 자산을 크게 불리는 기회로 역이용했다.

 

워렌 버핏은 외모는 평범해 보이지만, 결코 보통 사람이 아니다. 

워렌 버핏은 우리와 다르다는 것을 인식하고, 함부로 따라하지 말아야 한다.

다만, 너무 고평가 된 자산은 피하는 원칙 정도만 지켜도 나쁘지 않은 것 같다.

 

 

 

 

겸손 - 하워드 막스

투자 이야기 2025. 2. 19. 16:30 Posted by UnHa Kim

조금만 손실이 나도 기분이 침울해지고,

조금만 수익이 나도 의기양양 해질려고 한다.

 

많은 자산군이 상승하고, 지지부진하던 국장마저 반등하는 것처럼 보여질 때,

아무 것도 한 것 없이, 단지, 시장이 상승하는 시기에 맞닥뜨렸을 뿐인데도,

마치 스스로 뭔가를 해낸 듯한 기분이 드는 게 참 묘하다.

 

그런데, 유튜브 알고리즘이 정말 좋은 영상을 내밀어준다.

 

채권 투자의 대가인 하워드 막스가 겸손에 대해서 말하는 영상이다.

 

https://www.youtube.com/watch?v=GrcacCGdoEA

 

인상 깊은 어구 정리.

 

겸손은 중요한 자질이다.

끝까지 살아남는 사람이 승자이고, 살아남는 것은 겸손에서 시작하기 때문이다.

 

키가 185cm인 사람이 평균 수심이 150cm인 개천을 건너다가 익사했다는 사실을 잊지말라.

평균적으로 생존한다는 것은 의미가 없고, 매일, 항상, 나쁜 상황에서도 생존해야 한다.

 

대부분의 사람은 자신의 결점과 한계에 대해서 심리적 방어기제가 있으므로, 겸손한 태도를 유지한다는 것은 어려운 일이다.

 

성공은 실패의 씨앗을 담고 있고, 실패는 성공의 씨앗을 담고 있다.

 

성공으로부터 배우는 교훈은 다음과 같은 데, 자존심만 드높여서 투자에 좋지 않다.

- 생각보다 쉽네.  (혹은 별 거 아니네. )

- (자신이 잘 모르는) 다른 분야에서도 잘 할 수 있을 거야.

- 더 많은 돈을 투입해도 잘 될 거야.

- 내가 혼자서 잘 한 거야.

 

자신감에는 균형이 필요하다.

- 자신감이 너무 부족하면, 가격이 하락할 때마다 매도하게 될 것이고,

- 자신감이 과도하면, 가격이 하락할 때마다 더 많이 매수하게 되면서,

두 경우 모두 투자자로서 제 기능을 하지 못하게 된다.

 

 

유튜브  '메이킹 알파' 채널은 정말 좋은 거 같다.

 

주린이가 몇 년간 투자해 본 소감.

투자 이야기 2025. 2. 14. 01:23 Posted by UnHa Kim

투자 이론 공부할 때는 금방 돈을 긁어모을 수 있을 것 같아서 의기양양 했지만, 몇 년 지나니까 책으로 배운 투자 실력이라는 게 현실 세계에서 얼마나 하찮은 지 깨닫게 됨.

내가 사면 하락하고, 내가 팔면 상승하는 패턴이 반복되면서, 알고보니 내가 천하의 똥손이라는 것을 깨닫게 됨.

그나마 위안이라면 (극소수의 재능있는 사람을 제외한) 대부분의 사람은 고만고만한 똥손 수준에서 벗어나지 못한다는 거.

 

단기투자는 경쟁이 너무 치열하고, 판단을 흐리는 가짜 뉴스도 많으며,

장기투자는 지수 대비 부진한 투자성과를 몇 년씩 참고 버텨낼 수 있는 멘탈과 믿음이 필요해서,

'투자는 간단하지만, 쉽지는 않다'라는 워렌 버핏의 말이 무슨 뜻인지 뒤늦게 깨닫게 됨.

 

미약한 투자 실력으로 인해  스트레스에 시달리면서 삶의 질이 바닥을 친 이후에야 (백테스트 상의) 수익율을 따지기보다는 생존 위주의 방어적인 분산 전략으로 갈아탄 이후에야, 그나마 버틸만한 투자 라이프가 시작된 느낌.

 

시장이 부진하면 아무리 열심히 종목 분석을 해도 소용없고, 분산 투자 전략에 따라 보유하고 있던 자산군 중 하나가 상승세에 올라타면서 의도하지 않게 계좌 전체 수익율을 살려주는 경험이 반복됨.

결국 돈을 벌어다 주는 것은 공들인 분석이 아니고, 특정 자산군의 상승세, 즉 시장이고, 그런 의도하지 않은 시장의 과실을 따 먹을 수 있게 고안된 분산 투자가 개미들의 생명줄인 듯.

 

벤저민 그레이엄의 저서 '현명한 투자자'에는 대부분의 투자자에게 평균 정도의 수익율을 손쉽게 얻을 수 있는 방어적인 투자법(즉, 분산 투자 전략)이 적합하다고 나와 있는 데, 어지간히 책 읽고 공부하는 것으로는 그 수준에서 벗어나기 힘들더라.

전체 투자금액의 80% 이상을 주식에만 투자하면서 시장 대비 초과 수익을 올린다는 것은 막상 해 보면 쉬운 일이 아님.

 

https://ghts.tistory.com/56

 

현명한 투자자

가치 투자라는 개념을 창안한 벤저민 그레이엄이 일반인을 위해서 (그나마) 읽기 쉽게 썼다는 책이 '현명한 투자자'이다. 세계 최고 투자자인 워렌 버핏이 투자 관련 서적 중 최고로 꼽은 책이기

ghts.tistory.com

 

https://ghts.tistory.com/146

 

현명한 투자자 요약판

워렌 버핏이 최고의 투자서라고 극찬하는 '현명한 투자자'는 가독성이 낮은 점이 걸림돌이었다. '현명한 투자자'의 주요 내용을 읽기 편한 문체로 요약한 책이 있었다는 것을 뒤늦게 알았다. 이

ghts.tistory.com

 

다들 워렌 버핏의 옆집 할아버지 같은 평범한 겉모습에 속아서, 책 몇 권 읽고나서, 워렌 버핏의 투자법을 따라하려고 시도하지만, 얼마 지나지 않아, 일반인은 쉽게 따라할 수 없다는 것을 깨닫게 됨.

해자가 있는 종목은 애초에 존재 자체가 드물고, 혹여나 찾더라도 대개 고평가 되어 있으며, 운 좋게 저평가 되어 있는 해자 종목을 찾더라도, 기술 발전과 사회 변화로 인해서 해자가 사라지는 경우도 있어서, 워렌 버핏의 투자법을 따라한다는 게 보통 어려운 게 아님.

 

일반적인 수준에서는 미래 성장세는 전혀 고려하지 않고, 현재 저평가 된 종목만 찾아서 매수 후 존버하는, 상대적으로 단순한 벤저민 그레이엄의 투자법만 따라할 수 있어도 나쁘지 않다는 것을 깨닫게 됨.

벤저민 그레이엄의 투자법조차도 해 보면 그리 쉽지 않음.

안전 마진이 충분하다고 생각한 저평가 종목도 시장이 부진하면 바닥을 뚫고 지하로 내리꽂는 경우가 흔함.

염가 종목은 매수 후 가격이 내재가치와 완전히 따로 놀면서 몇 년씩 저평가 상태가 지속되는 경우가 흔함.

가끔씩 찾아오는 주식 시장의 크나큰 변동성은 멘붕을 초래해서 인내심의 한계를 시험함.

거기다 주식 이외의 다른 자산군이 폭풍같은 상승세를 보여주면 지지부진한 저평가 주식 종목을 들고 버틴다는 것은 결코 쉽지 않음.

그래서, 일반인은 여러 자산군에 분산 투자하되, 주식 포지션에 대해서만 '가치 투자'를 적용하는 하는 정도가 적절한 것 같음.

 

'가치 투자'가 얼마나 고통스럽고 힘든지, 솔직하게 인정하는 투자 전문가는 1명 밖에 못 봤음.

전체 투자자의 5%만 가치 투자 방식을 지속하는 데는 다 이유가 있음.

 

https://ghts.tistory.com/136

 

가치투자는 옳다. 장-마리 에베이야르

가치 투자가 얼마나 고통스럽고 힘든 지 솔직하게 인정하는 거의 유일한 책.최준철, 홍진채 같은 유명 가치투자자의 책 소개 영상을 보고 흥미가 생겨서 읽어봤는 데, 내용이 굉장히 독특하다. 

ghts.tistory.com

 

어느 정도 시드 머니가 있고, 소비 성향을 적정 수준에서 제한한다면, 방어적인 분산 투자법의 평균적인 수익율만으로도 비참한 노후에서 벗어날 수 있는 데, 다들 거기에 만족하지 못하고, 빨리 부자가 되고 싶어서 불나방처럼 공격적인 투자를 시도하다 보니, 일반적인 개미 투자자 90%가 5년 내로 투자금을 다 날려먹는 통계가 나오는 것 같음.

 

결론>

뛰어봤자 부처님 손바닥 안이던가?

벤저민 그레이엄 옹의 '현명한 투자자'에서 나오는 방어적 투자자 부류에서 벗어나기 정말 힘들다.

누구나 시장의 변동성을 겪고 멘붕에 빠지기 전까지는 그럴싸한 계획을 갖고 있다.

 

유튜브 채널 추천. '메이킹 알파'

투자 이야기 2024. 10. 3. 17:44 Posted by UnHa Kim

유튜브는 많은 정보를 제공해 주지만, 반대로 노이즈의 홍수로 인해서 판단력을 저하시키는 부작용도 있다.

 

그래서, 유튜브에서는 좋은 정보를 찾는 것보다 노이즈를 거르는 게 더 중요하다고 생각한다.

 

그럼에도 불구하고, '메이킹 알파'은 (걸러야하만 하는 또 다른 노이즈가 아닌) 추천할만한 도움이 되는 채널 같다.

 

https://www.youtube.com/@makingalpha/videos

 

메이킹알파

"우리네 삶과 투자에 알파의 가치를 더한다." 오역 제보와 영상 추천은 커뮤니티 란에 댓글로 남겨주세요.

www.youtube.com

 

영상을 보니 조회수를 위한 자극적인 낚시질 제목으로 가득찬 일반 채널과 달리, 채널 개설자 본인이 인상 깊었던 영상만 골라서 한글 해석을 붙여서 업로드한 듯 하다.

 

시간날 때 한 번씩 들러서 투자에 대한 생각을 정리하는 데 많은 도움이 될 것 같다.

'투자 이야기' 카테고리의 다른 글

겸손 - 하워드 막스  (0) 2025.02.19
주린이가 몇 년간 투자해 본 소감.  (6) 2025.02.14
퀀트 전략의 부진.  (0) 2024.05.11
레버리지의 무서움  (0) 2024.01.31
벤저민 그레이엄의 금(과 인플레이션)  (2) 2023.12.10

R언어 데이터 프레임으로 필터, 정렬, 랭킹, 계산 결과값 칼럼 추가, 조인등 기본 사용법 예제를 메모해 둔다.

 

코드 가독성을 높이기 위해서 dplyr 패키지를 사용한다.

# 경고 메세지 없이 dplyr 패키지 불러오기
library(dplyr, warn.conflicts = FALSE)

 

필터링

필터된_PER <- filter(PER데이터, PER > 0)

 

정렬 

정렬된_PER <- arrange(필터된_PER, PER)

 

순위값 칼럼 'PER랭킹' 추가

정렬된_PER <- mutate(정렬된_PER, PER랭킹 = rank(정렬된_PER$PER))

 

 

조인 (데이터 프레임 합치기)

전체_데이터 <- inner_join(정렬된_PER,정렬된_ROA,by='회사명')

 

이 모든 것을 파이프로 합치기

library(dplyr, warn.conflicts = FALSE)
library(readxl)

파일_경로 <- r"(엑셀파일명.xls)" # raw 문자열 r"(...)"

PER_데이터 <- read_excel(파일_경로, sheet = "PER") |>
    filter(PER > 0) |>
    mutate(PER랭킹 = rank(PER)) |>
    arrange(PER랭킹)
    
ROA_데이터 <- read_excel(파일_경로, sheet = "ROA") |>
    rename(ROA = 'ROA(영업이익)(%)') |>
    filter(!is.na(ROA)) |>
    mutate(ROA랭킹 = rank(-ROA)) |>
    arrange(ROA랭킹)
    
전체_데이터 <- inner_join(PER_데이터,ROA_데이터,by='회사명') |>
    mutate(종합_랭킹 = rank(PER랭킹 + ROA랭킹)) |>
    arrange(종합_랭킹)
    
print(전체_데이터)

 

R언어 4.0부터 파이프 기호가 '%>%'에서 '|>'로 바뀌었다.

호환성을 위해서  예전 기호 '%>%'도 여전히 지원되지만, 새로운 파이프 기호 '|>'가 가독성이 더 좋아보인다.

 

파이썬 pandas, R언어 dplyr, Julia 데이터 프레임을 비교 검토한 후, 코드 가독성 면에서 R언어 dplyr패키지가 가장 우수하다고 생각된다.

 

'데이터 분석' 카테고리의 다른 글

R언어 데이터 프레임 사용법 예제 1.  (0) 2024.05.30
R언어 절사 평균 mean trim  (0) 2023.06.28
R언어 무료 IDE  (0) 2023.06.28
무료 R언어 강의 영상  (0) 2023.06.26
윈저화 평균 (winsorized mean)  (0) 2023.04.28