자바스크립트 라이브러리

Dojo Toolkit
http://www.dojotoolkit.org/
GUI와 자바스크립트 헬퍼 모두 갖춘 통합형 라이브러리.

jQuery
http://jquery.com/
더 이상 말이 필요없을 정도로 잘 알려진 자바스크립트 라이브러리

Prototype
http://www.prototypejs.org/
많이 쓰이고 안정적.

script.aculo.us
http://script.aculo.us/
prototype 등과 맞물려 돌아가는 UI 라이브러리.

Yahoo UI (YUI)
http://developer.yahoo.com/yui/
많은 javascript 프로젝트의 모델 또는 표준이 됨.

qooxdoo
http://qooxdoo.org/
전체적으로 깔끔하고 심플해 보이나 기본은 다 갖추고 있는 UI. (LGPL, EPL License)

mooTools
http://mootools.net/
Compact, modular, Object-oriented javascript framework.

ExtJs
http://www.sencha.com
처음에는 ui기반이었으나 현재는 통합 framework 제공. 유무료.

Google Web Toolkit
http://code.google.com/webtoolkit/
자바기반의 라이브러리

Interface Element for jQuery
http://interface.eyecon.ro/
jQuery 기반의 UI 라이브러리.

xajax
http://www.xajax-project.org/
php와 통합이 잘 되어 있음.

MochiKit
http://mochi.github.io/mochikit/
기본적인 기능을 제공하는 ui 라이브러리. 현재 개발은 중단된 상태.

Rico
http://openrico.org/
http://sourceforge.net/projects/openrico/
UI 위주였으나 다른 프로젝트들이 gui를 강화하면서 더이상 큰 특징은 없음

 

 

 

수익률 계산 – 4 (비중과 기준가격)

펀드 또는 포트폴리오의 수익률을 계산하기 위한 방법은 (1) 개별 종목의 수익률을 계산해서 각각의 비중을 감안하여 합산하는 방법과 (2) 투입금액 대비 손익을 계산하는 방법이 있다. (1) 방법의 경우 앞(수익률 계산 – 2)에서 본 바와 같이 개별종목의 수익률을 각각 계산하고 각각의 비중을 곱하면 전체 수익률이 산출되는 방법으로 개별 종목에 대한 수익률도 구하고 이를 바탕으로 펀드 또는 포트폴리오의 수익률을 반복적으로 계산할 수 있어서 복잡한 다중구조의 포트폴리오를 산출하거나 개별종목과 전체 포트폴리오에 대한 다양한 분석을 하기 위해서 적합하다 하겠다.

포트폴리오 A의 수익률 : 종목 1의 수익률 ×종목 1의 비중 + 종목 2의 수익률 ×종목 2의 비중 ...

(2)의 방법은 보통 펀드의 기준가를 산출하기 위한 방법으로 회계적으로 펀드 또는 포트폴리오의 자산대비 비용을 제외한 수익금으로 수익률을 계산하는 방법이다.

펀드 A의 수익률 = (평가차익 + 매매수익 ) / 전일 평가금액

종목 비중의 문제

종목 비중의 문제는 실상 그리 중요한 문제는 아니다. 하지만 간과하고 넘어가면 수익률 계산에 중대한 오류를 범하게 된다. 비중(Weight)이라는 것은 전체에서 차지하는 규모를 의미하므로 단순히 “종목 A의 비중 = 종목 A의 평가금액 / 전체 평가금액 “으로 간단히 구할 수 있다.

하지만 앞에서 설명한 바와 같이 수익률을 가중하기 위해서 사용하는 전일 비중은 매매가 발생하는 경우 몇가지 예측하지 못한 문제를 일으킨다.

(1)당일 매매 종목

전일 보유하지 않은 종목은 전일 평가금액이 0이다. 따라서 수익률을 계산할 때 전일 비중이 0이 되어 버린다. 하지만 오늘 종목 A를 사서 저녁에 정산을 하면 평가 손익이 발생(종목 A의 수익률이 존재)하므로 비중이 0이 되어서는 안된다(수익률이 누락된다). 따라서 종목비중은 다음과 같이 계산해야한다고 일반적으로 인식한다.

종목 비중 = (전일 평가금액 + 당일 매수 금액 ) / ∑(개별종목의 전일평가금액 + 당일매수금액)

으로 설명을 하였다. 하지만 이 공식을 그대로 적용하는 경우 문제가 생긴다.

A, B두 개의 종목을 각각 1000원어치 가지고 있는데 B종목을 모두 팔아서 A종목을 모두 산 경우 A종목에서는 40원의 수익이 났고 B종목에서는 10원의 수익이 발생했다면 전체 수익률은?

A종목 수익률 = (2040 + 0)/(1000 + 1000) – 1 = 2040/2000 – 1 =2%
B종목 수익률 = (0 + 1010)/(1000 + 0) – 1 = 1010/1000 – 1 = 1%
A종목 비중 = (1000 + 1000)/((1000+1000)+1000) = 2/3
B종목 비중 = 1000/((1000+1000)+1000) = 1/3
전체 수익률 = 2% × 2/3 + 1% × 1/3 = (5%/3)이되어 대략 1.666%가 되어버렸다.
실제 수익률은 (40 + 10) / 2000 = 50/2000 = 2.5%이다
어디서 잘못된 것인가?
실제 A종목의 비중은 100%(1)이 되어야 하고 B종목의 비중은 50%(0.5)가 되어야 한다.

2% × 1 + 1% × 0.5 = 2.5%

결국 비중은

종목 비중 = (전일 평가금액 + 당일 매수 금액 ) / ∑개별종목의 전일평가금액

이 되어야 한다.
어! 비중의 합이 100%를 넘는다고? 맞다. 넘을 수 있다. 회계적인 방법으로 투입금액(전일평가금액)대비 수익금을 계산하여 수익률을 계산하지 않고 개별 종목의 수익률을 계산하여 비중으로 합산할 경우 매매가 발생하면 어쩔 수 없다.
단 예외가 있는데 오늘 추가로 돈을 투입하여 자산 운용을 했다면 그 매수 금액은 당연히 분모에 포함되어야 한다.

(2)매매가 반복되는 경우

그럼 만약 특정 종목을 하루종일 반복적으로 샀다 팔았다를 반복한다면 어떻게 될까?

전일기준 A, B, C 세 종목을 각각 2000원, 1000원, 1000원으로 갖고 있었다(평가금액).그런데 다음날 C종목을 모두 팔아(-1000) A종목을 1000원에 사서 1010원에 팔기를 두 번 반복하고 결국 1000원만큼 A종목을 사고 장이 마감되었다. 이날의 A종가(평가가격)은 총 3060원이다.

A종목은 수익률이 2%라는건 쉽게 이해가 되는가? 매매손익 20원(A종목을 샀다 팔았다하며 생긴 수익 = (1010-1000)×2 = 20)과 평가손익 60원(3060-(2000+1000) = 60)으로 전체 투입금액 4000원대비 80원으로 2%가 된다.
그럼 A종목의 수익률은 얼마고 비중은 얼마인가?
다양한 여러 방법을 이용하면 될듯하나 평각ㅁ액과 매매금액만으로는 부정확하다.
따라서 수익률을 비중과 종목 수익률로만 계산하기에는 오차가 발생한다.
하지만 현실적으로 펀드매니저가 동일 종목을 반복적으로 사고 파는 경우는 발생하지 않으므로 이런 경우를 걱정할 필요는 없다. 그렇다고해도 수익률 계산에서 종목과 비중에 의한 수익률 계산을 맹신하면 안된다.

기준가격의 문제

유사한 문제로 기준가격의 문제이다. 수익률을 계산하기 위하여 사용하는 공식인
(당일평가금액+당일매도금액)/(전일평가금액+당일매수금액)을 하는 경우 위의 경우처럼 매수와 매도가 반복되었다면 수익률이 어떻게 될까?

(3060+1010+1010)/(2000+1000+1000+1000) =/=(3060+20)/(2000+1000) = 2.66%

즉, 분모와 분자가 달라져 수익률 자체에 변화가 온다. 매매가 있는 경우는 수익률이 동일 종목의 경우 단순 합산을 해야한다.

A종목수익률 = 매매수익률 + 평가수익률 = (1010+1010)/(1000+1000) + (3060+20)/(2000+1000)

사실 종목수익률이 복잡해 질 경우는 거이 없다고 이미 얘기했다.하지만 기본을 잘 이해하지 않으면 다양한 경우의 수익률 계산에서 오차가 발생하는 경우가 종종 발생한다는 것을 명심하자.