ここ最近、Googleドキュメントの数値をスクリプトでHTML化してブログで使用する事が増えている。。(GoogleドキュメントのJSで確実、効率化!)
スクリプトであるサーバーサイドJavaScriptを使って、
先日立ち上げた「株式運用ダイアリー2012」のHTMLを作成する関数を作ってみた!
この七めんどい計算をスクリプトに任せる事で、その日の運用資金・日経平均・TOPIXの3つを記録すれば、その他の数値は計算で出せる!
そんなわけでちょっとスクリプトをお披露目~♪
あまりキレイに書いてないけど^^
[javascript]
function mk_html(n255_today, topix_today, funds_today, funds_zenjitsu_hi, n255_zenjitsu_hi, topix_zenjitsu_hi, nt_today, nt_yesterday ) {
//——————————————————————–
//★変数初期セット
//——————————————————————–
var html = {};
var num = {};
html.main = ”;
num.funds_first = 10000; //年初時の運用資金額
num.funds_today = funds_today;
num.n255_first = 8455.35; //年初時の日経平均
num.n255_today = n255_today;
num.topix_first = 728.61; //年初時のTOPIX
num.topix_today = topix_today;
num.nt_first = 11.60; //年初時のNT倍率(※割り算して四捨五入処理がめんどいから明示的に入れた^^)
num.nt_today = nt_today;
num.nt_yesterday = nt_yesterday;
//——————————————————————–
//★数字の四捨五入処理
//——————————————————————–
//————————————————
//◆運用成績
//————————————————
//年初比
num.funds_nensho_hi = Math.round(((num.funds_today – num.funds_first) / + num.funds_today) * 10000)
num.funds_nensho_hi = num.funds_nensho_hi / 100;
//前日比
num.funds_zenjitsu_hi = Math.round((funds_zenjitsu_hi) * 10000);
num.funds_zenjitsu_hi = num.funds_zenjitsu_hi / 100;
//————————————————
//◆日経平均
//————————————————
//年初比
num.n255_nensho_hi = Math.round(((num.n255_today – num.n255_first) / + num.n255_today) * 10000)
num.n255_nensho_hi = num.n255_nensho_hi / 100;
//前日比
num.n255_zenjitsu_hi = Math.round((n255_zenjitsu_hi) * 10000);
num.n255_zenjitsu_hi = num.n255_zenjitsu_hi / 100;
//————————————————
//◆TOPIX
//————————————————
//年初比
num.topix_nensho_hi = Math.round(((num.topix_today – num.topix_first) / + num.topix_today) * 10000)
num.topix_nensho_hi = num.topix_nensho_hi / 100;
//前日比
num.topix_zenjitsu_hi = Math.round((topix_zenjitsu_hi) * 10000);
num.topix_zenjitsu_hi = num.topix_zenjitsu_hi / 100;
//————————————————
//◆NT倍率
//————————————————
//年初比
num.nt_nensho_hi = Math.round((num.nt_today – num.nt_first) * 100);
num.nt_nensho_hi = num.nt_nensho_hi / 100;
//前日比
num.nt_zenjitsu_hi = Math.round((num.nt_today – num.nt_yesterday) * 100);
num.nt_zenjitsu_hi = num.nt_zenjitsu_hi / 100;
//本日のNT倍率
num.nt_today = Math.round(num.nt_today * 100);
num.nt_today = num.nt_today / 100;
//————————————————
//◆運用成績(基準比較)
//————————————————
//日経平均基準(年初比)
num.n255_nensho_hi_kijyun = Math.round((num.funds_nensho_hi – num.n255_nensho_hi) * 100);
num.n255_nensho_hi_kijyun = num.n255_nensho_hi_kijyun / 100;
//TOPIX基準(年初比)
num.topix_nensho_hi_kijyun = Math.round((num.funds_nensho_hi – num.topix_nensho_hi) * 100);
num.topix_nensho_hi_kijyun = num.topix_nensho_hi_kijyun / 100;
//運用成績の日経平均基準(前日比)
num.n255_zenjitsu_hi_kijyun = Math.round((num.funds_zenjitsu_hi – num.n255_zenjitsu_hi) * 100);
num.n255_zenjitsu_hi_kijyun = num.n255_zenjitsu_hi_kijyun / 100;
//運用成績のTOPIX基準(前日比)
num.topix_zenjitsu_hi_kijyun = Math.round((num.funds_zenjitsu_hi – num.topix_zenjitsu_hi) * 100);
num.topix_zenjitsu_hi_kijyun = num.topix_zenjitsu_hi_kijyun / 100;
//——————————————————————–
//★プラスマイナス記号付け
//——————————————————————–
//運用成績
num.funds_nensho_hi = num_plus_minus(num.funds_nensho_hi); //年初比
num.funds_zenjitsu_hi = num_plus_minus(num.funds_zenjitsu_hi); //前日比
//日経平均
num.n255_nensho_hi = num_plus_minus(num.n255_nensho_hi); //年初比
num.n255_zenjitsu_hi = num_plus_minus(num.n255_zenjitsu_hi); //前日比
//TOPIX
num.topix_nensho_hi = num_plus_minus(num.topix_nensho_hi); //年初比
num.topix_zenjitsu_hi = num_plus_minus(num.topix_zenjitsu_hi); //前日比
//NT倍率
num.nt_nensho_hi = num_plus_minus(num.nt_nensho_hi); //年初比
num.nt_zenjitsu_hi = num_plus_minus(num.nt_zenjitsu_hi); //前日比
//運用成績の日経平均基準
num.n255_nensho_hi_kijyun = num_plus_minus(num.n255_nensho_hi_kijyun); //年初比
num.n255_zenjitsu_hi_kijyun = num_plus_minus(num.n255_zenjitsu_hi_kijyun); //前日比
//運用成績のTOPIX基準
num.topix_nensho_hi_kijyun = num_plus_minus(num.topix_nensho_hi_kijyun); //年初比
num.topix_zenjitsu_hi_kijyun = num_plus_minus(num.topix_zenjitsu_hi_kijyun); //前日比
/*
//デバッグ用
html.main += num.funds_nensho_hi + “\r\n”;
html.main += num.funds_zenjitsu_hi + “\r\n”;
html.main += num.n255_nensho_hi + “\r\n”;
html.main += num.n255_zenjitsu_hi + “\r\n”;
html.main += num.topix_nensho_hi + “\r\n”;
html.main += num.topix_zenjitsu_hi + “\r\n”;
html.main += num.nt_nensho_hi + “\r\n”;
html.main += num.nt_zenjitsu_hi + “\r\n”;
html.main += num.n255_nensho_hi_kijyun + “\r\n”;
html.main += num.topix_nensho_hi_kijyun + “\r\n”;
html.main += num.n255_zenjitsu_hi_kijyun + “\r\n”;
html.main += num.topix_zenjitsu_hi_kijyun + “\r\n”;
*/
html.main += ‘★本日の結果’ + “\r\n”;
html.main += ” + “\r\n”;
html.main += ‘ ◆運用成績’ + “\r\n”;
html.main += ‘ 年初比:‘ + num.funds_nensho_hi + ‘% (日経平均基準:‘ + num.n255_nensho_hi_kijyun + ‘% / TOPIX基準:‘ + num.topix_nensho_hi_kijyun + ‘%)’ + “\r\n”;
html.main += ‘ 前日比:‘ + num.funds_zenjitsu_hi + ‘% (日経平均基準:‘ + num.n255_zenjitsu_hi_kijyun + ‘% / TOPIX基準:‘ + num.topix_zenjitsu_hi_kijyun +’%)’ + “\r\n”;
html.main += ” + “\r\n”;
html.main += ‘ ◆日経平均’ + “\r\n”;
html.main += ‘ ‘+ num.n255_today + ‘‘ + “\r\n”;
html.main += ‘ 年初比:‘ + num.n255_nensho_hi + ‘%‘ + “\r\n”;
html.main += ‘ 前日比:‘ + num.n255_zenjitsu_hi + ‘%‘ + “\r\n”;
html.main += ” + “\r\n”;
html.main += ‘ ◆TOPIX’ + “\r\n”;
html.main += ‘ ‘+ num.topix_today + ‘‘ + “\r\n”;
html.main += ‘ 年初比:‘ + num.topix_nensho_hi + ‘%‘ + “\r\n”;
html.main += ‘ 前日比:‘ + num.topix_zenjitsu_hi + ‘%‘ + “\r\n”;
html.main += ” + “\r\n”;
html.main += ‘ ◆NT倍率’ + “\r\n”;
html.main += ‘ ‘ + num.nt_today + ‘倍(年初比:‘ + num.nt_nensho_hi +’ / 前日比:‘ + num.nt_zenjitsu_hi +’)’ + “\r\n”;
return html.main;
}
function num_plus_minus(num){
var ret;
if(num < 0){
//ret = '-' + num;
ret = num;
}else if(num == 0){
ret = '±' + num;
}else if(num > 0){
ret = ‘+’ + num;
}else{
//
}
return ret;
}
[/javascript]
コメント