【JavaScript/GAS】Mathematics.jsライブラリー(合計,平均値,中央値,最頻値,範囲,最大値,最小値)

バフェット流分析シートのレスポンス高速化のために,全面的にコードを書き直しています。

ご存知のように現在はクラウド全盛の時代になっており,その中でもグーグル・マップをはじめとしたWebサービスの多くは,JavaScriptやPython,PHPといった言語で書かれています。

以下のEmi Matsudaさんのスライドに過去15年間ほどのフロントエンド(ブラウザをはじめとした表示部)とサーバー(アプリケーションやストレージを提供する部分)のトレンドの推移がまとまっていますが,言語の進化は止まらず,言語仕様の変化に着いていくだけでも大変です。

さて,グーグルの提供するApp Script,Apps Engineといったクラウド機能の多くは,JavaScriptの言語体系の上にグーグル独自のアプリケーションAPI(例えば,グーグル・カレンダーへのアクセス機能や,グーグル・マップの呼び出し機能など)を載せたような構造になっています。

バフェット流分析シートですが,クライアントサイドはWordPressに直書きでJavaScriptを実装してGoogle Chartを呼び出して使っています。また,Google Chartで描画するデータの計算や加工については,サーバーサイドのGoogle App Engine(GAS)で実装しているため,事実上JavaScriptの知識さえあれば大抵のことが出来てしまう状態です。そこで半年ぐらいかけてJavaScriptを一から勉強し直して,高速化しつつ,分析ツールのバリエーションを増やしていくことを画策しています。

不思議なことに,私はJavaScriptの本を一冊も読まずに今までやって来ました。それだけ,プログラミングに関してはネット上の無料情報が充実していることの証です。

『フリー~〈無料〉からお金を生みだす新戦略』(クリス・アンダーソン著)にありますが,無料のサービスから価値を無尽蔵に生み出せる時代ですので,グーグル様のサービスを無料で使わせてもらったり,よそ様のサイトのコードを真似させてもらうだけではなく,少しずつ自分の書いたJavaScript(兼GAS, Google Apps Scriptでも使える)ライブラリーを公開していこうと思います。

元々はネット上で公開していただいていたものにエラー処理を追加したりしているもので,大したものではないですが,投資家として同じ志を持ってサイトを作ってる方にとっては便利なものになっていくのではないかと思います。

今回は第1回目として,数値計算ライブラリー(合計,平均値,中央値,最頻値,範囲,最大値,最小値)を公開します。

次回以降,経済関係の数値計算(CAGR, IRR, ほか)などを予定しています。

使い方

Logger.log()はGAS用のデバッグ表示関数のため,JavaScriptの方はconsole.log()などに置き換えてください。

Mathematics.js

基本的に意図しない計算が発生しそうな場合(配列の値が数値じゃないとか,ゼロ割とか)は,falseを返すようにしています。

2 thoughts on “【JavaScript/GAS】Mathematics.jsライブラリー(合計,平均値,中央値,最頻値,範囲,最大値,最小値)

  • 2017年2月23日 at 5:57 AM
    Permalink

    はじめまして

    最近ブログをスタートしました。

    米国個別株投資も昨年末はじめたばかりです。

    こちらの超詳しい米国株分析をいつも銘柄選びの参考にさせてもらってます。

    これからもちょくちょく訪問させて頂きます。

    Reply
    • 2017年2月23日 at 8:33 AM
      Permalink

      >気まぐれトレーダーさん
      こんにちは。
      コメントありがとうございます。
      ブログを拝見しましたが,私があまりカバーできていない日用品・食品分野について
      詳しく書かれており参考になりました。
      私はどうもITとヘルスケア,スポーツ以外にはアンテナの感度が鈍いようです。(笑)
      ブログ村の皆様の記事を読んでいるとバイアスに気付けるのでありがたいです。
      頑張っていきましょう。

      Reply

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です