/* 課題2解答例 */

/* ［数値処理］→［自動的に数値で出力］*/
if numer#false then numer:false else numer:true;

/*浮動小数点の桁数=7に指定 */
fpprec : 7;

/* 浮動小数点表示桁数を7に指定*/
fpprintprec:7;

cur:read_matrix("/home/hideki/Dropbox/KyotoU/lecture/CompFin/cur.csv",comma);

USD: col(cur,2); USD : submatrix(1,USD);

EUR: col(cur,4); EUR: submatrix(1,EUR);

USD_EUR: addcol(USD, EUR);

/* (1) */
load(descriptive);
print("USD平均=", mean(USD), "USD不偏分散平方根=",std1(USD));
print("EUR平均=", mean(EUR), "EUR不偏分散平方根=",std1(EUR));

/* (2) */
cor(USD_EUR); 
print("相関係数=", cor(USD_EUR)[1,2]);

/* (3) */
scatterplot(
USD_EUR, 
xlabel="USD", ylabel="EUR"
);

/* (4) */
load(stats);
reg: linear_regression(USD_EUR);

/* (5) */
/* 回帰直線の関数を作成 */
a:take_inference(b_estimation,reg)[1];
b:take_inference(b_estimation,reg)[2];
f(x):=a+b*x;
/* 散布図用(USD, EUR)データ作成*/
xy_data:makelist(USD_EUR[i], i,1, length(USD));
/* 散布図と回帰直線の描画 */
load(draw);
draw2d(
points(xy_data),/* 散布図 */
color=red,
explicit(f(x),x,mini(USD)[1],maxi(USD)[1]), /* 赤色，回帰直線 */
xlabel="USD", ylabel="EUR"
);