プログラムで計算しよう
日常生活やビジネスで最もよく使う計算といえば、合計、平均、最小、最大、カウントでしょう。売上合計、月平均経費、最大発注量…難しそうなビジネスの場でも意外に計算の80%以上はこの5つの計算で済んでいるのではないでしょうか。
rpnでこれらの計算をするときは、rpnプログラムを利用します。合計プログラム、平均プログラム…という感じですね。これは将来、いろいろな計算が出てくることを考えて、敢えてプログラムの形で提供されています。
rpnはプログラムを利用するだけでなく、簡単なプログラムを作ることもできます。詳しくはrpn入門を参照ください。
rpnでプログラムを使う方法
では、さっそく合計を計算してみましょう。以下のように1から10まで記入されたテキストファイルがあったとします。ファイル名は"data.txt"とします。
| 1
| 2
| 3
| :
| 10
+----------
このファイルの数字を合計してみましょう。rpnの合計プログラムは"sum"です。従って、rpnでの合計は以下のように、"-c"の後に"sum"、その後に"<data.txt"を指定します。
-cオプションはrpn標準版の機能です。rpn試用版ではご利用できません。
55
合計値55が出てきました。このようにプログラムを呼び出すことでさまざまな計算を行うことができます。例えば、平均は"mean"、最小は"min"、最大は"max"、標準偏差は"sdev"、カウントは"count"がそのプログラム名です。それぞれ、rpnで実行してみましょう。
5.5
>rpn -c min <data.txt
1
>rpn -c max <data.txt
10
>rpn -c sdev <data.txt
2.87228
>rpn -c count <data.txt
10
sum, mean, min, max, sdev, countは、rpn標準版に無料添付されています。
きちんと答えが出てきています。カンタンですよね。
rpnでリーマンショックを検証
プログラムさえあればファイルの中の数字はどんなものでもいいし、数字の量もいくつでもかまいません。つまり、100個のデータや1000個のデータであっても、同じ使い方で答えが出てきます。ここでは、1000個以上のデータを扱う例として日経平均株価を取り上げてみます。
2008年9月にリーマンショックが起こりました。ニュース的には9月が記憶されるのでしょうが、株価の値動きとしては10月のほうが破壊的でした。そこで、2000年1月~2008年9月末までの日毎の変動率を2008年10月のそれと比べてみましょう。
2000年1月~2008年9月までの間には、ITバブル崩壊、世界同時多発テロ、自民衆議院大勝、ライブドアショック、いざなぎ超え景気、そしてリーマンショックがありました。イベントが目白押しなので十分な株価変動がありそうです。
まず、日経平均のデータは2000年1月~2008年9月末までの日毎の変動率をファイル"nikkei1.txt"に、2008年10月のそれを"nikkei2.txt"に用意します(そういうファイルがあると思ってください)。なお、変動率は「(高値-安値)/終値」としています。
まず、データ数ですが、rpnでカウントしてみます。
2153
>rpn -c count <nikkei2.txt
22
nikkei1.txtのデータ数は2153でした。つまり、2153日分のデータがあるということで、記録量としては十分ですね。対して、10月は22日間です。次に、変動率の平均を見てみましょう。
0.0151117
>rpn -c mean <nikkei2.txt
0.0604054
nikkei1.txtの平均は0.015です。つまり一日平均で1.5%の変動があることになります。対して10月は6.0%の変動です。実に4倍です。いかに破壊的な動きだったかが分かります。
ただこれはあくまで平均なので、長い期間のnikkei1.txtでは最大と最小で相殺しあったのかもしれません。そこで、一日で最大の変動があったのはどちらの期間なのか見てみましょう。nikkei1.txtは2153日もあるので、最大の変動率はこちらに軍配が上がるような気もしますが…。
0.0915789
>rpn -c max <nikkei2.txt
0.112426
nikkei2.txtの最大変動率は11.2%です。対して、nikkei1.txt最大の変動率は9.1%です。たった22日間の最大値の方が、2153日間もあった最大値よりも大きかったわけです。
さすがに、100年分のデータは用意できなかったので分かりませんが、2008年10月は過去10年弱でありえない変動があったことになりますね。
次は…
rpnは電卓よりも便利に、表計算よりも手早く計算できますが、ある仕掛けを使うとより効果的に計算できるようになります。rpnが提唱する計算スタイルとは…。
通常の使い方であれば、ここまでの説明でrpnを十分に使いこなせます。次の「データを転がして計算しよう」が理解できなくても問題はありません。ただ、rpnをもっと知りたい、rpnの計算スタイルが知りたいという人は、是非、次の説明に進んでみてください。