nØthing specia¡
Posts
129 posts
잘 배우신 분이 계시네요
모 커뮤니티에 위의 그림과 같은 글을 쓰신 분이 있는데 저랑 같은 생각을 가지신 분이 계시다니 정말 반갑더군요. 마지막 줄에 감동했습니다. 이 분 최소 배우신 분입니다.

VBA가 루돌프없이 연산하는 썰매(2)
12월 크리스마스가 코앞인데, 캐럴이 울리던 크리스마스 분위기가 사라진 지 꽤 오래된 듯하다. 오랜 불경기와 자살골 같은 저작권협회의 캐럴에 대한 저작권 욕심(좀 완화했다고 하지만 이미 늦었다) 때문이라고 하는데, 블로그 제목에 루프를 쓰다보니 루돌프가 떠올라 그냥 VBA가 루프없이 연산하는 썰(2)를 VBA가 루돌프없이 연산하는 썰매(2)로 바꾸어 보았다. 그냥 시시한 농담을 걸어 본 것인데, 오늘 날씨만큼 써얼렁하다. 지난 번 VBA가 루프없이 연산하는 썰에서 약속한 바와 같이 오늘은 간단히 Evaluate() 함수 관련한 내용을 다룬다. 지난 번에 Application.Evaluate()만 말했지만, 사실 Evaluate() 함수가 몇 개 더 있다. 위의 그림과 같이 A1:A100000과

뱁새가 황새 따라하다 가랑이 찢어지다.
MatLab, Python, R 같은 우아한 슬라이싱이 부러운 VBA는 arr_1dim = arr_2dim(3,:) 같은 코드를 만들고 싶었지만 VBA에게는 그렇게 행이나 열을 돌려주는 함수가 없다. 약에 쓸 개똥도 없는 상황이다. 하지만 방법이 없는 것은 아니다. 일단 워크시트의 내용을 읽어 배열로 만드는 것부터 해본다.Sub GetArray() Dim s As Worksheet Dim arr1() Set s = Sheet1 arr1 = s.Range("A1:A15").Value End SubA1:A15 는 벡터 또는 1차원 배열의 모습이지만 VBA는 친철하게 2차원 배열로 돌려준다.'야 이넘들아~ 이렇게 돌려주면 인덱싱하기 불편하잖아
VBA에서 본 이상한 코드들
VBA구문에 충실하게 FM대로 코딩하다가, 다른 사람들이 만든 코드를 보면 초보 입장에서 '이런 코드가 가능해?'하고 의문점을 가질 수 있는 걸 종종 보았다. VB/VBA는 c/c++, python, javascript 처럼 다양한 코드 스타일을 만들어 볼 수 있는 유연성이 떨어지는 데, 종종 생각하지 못한 코드를 보곤 한다. 그걸 한번 정리해보려고 하는 데, 일단 생각나는 대로 적어보자면: 1. 물건 사서 하나만 빼먹고 버림? Split("123,456,789", ",")(0) 위의 코드는 "123,456,789" 라는 문자열을 컴마(,)로 분리하는 split()함수 사용 예이다. 함수뒤에 (0)가 붙는 데, 분리한 결과의 첫 번째 항목을 가져오라는 의미이다. 보통은 그 결과를 변수로 받고

여러 개의 시계열을 일자에 맞춰 데이터프레임으로 만들기
분석을 할 때 클렌징작업을 먼저 해야 하는데, 여러 개의 시계열 데이터를 하나의 데이터프레임으로 만드는 경우 휴장일을 처리해야 한다. 특히 여러 국가의 종가를 분석한다면 휴일처리를 어떻게 하느냐를 정해야 한다. 각국마다 휴일이 다르므로 공통된 영업일만 뽑아서 데이터를 만들어 두는 것도 방법이다. Date, Open, High, Low, Close, Adj Close, Volume 컬럼으로 구성된 시계열데이터가 있는 여러개의 csv 파일(파일 하나가 종목)을 읽어 들여 하나의 데이터프레임으로 만드는 작업을 다음과 같이 하였다. import pandas as pd dfList=[] symbols=['^AXJO','^FCHI','^GDAXI','^HSI','^IXIC','^N225','^GSPC



