曜日と月齢 | package入門(カレンダー・システム編) [講座] | 逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓rpnの実践ウェブ   
rpn hacks! アールピーエヌ・ハックスサイトマップ

rpn | 講座 | package入門 | ポテンシャルを飛躍的に高めるrpnパッケージを学習。

曜日と月齢

 作家のマーク・トウェインは株には買ってはいけない月があると言ったそうです。「10月は株に手を出すにはもっとも危険な月だ。それ以外に危険な月は7月、1月、9月、4月、11月、5月、3月、6月、12月、8月、2月だ」…これでは買えませんね。

冗談はさておき、それくらいに株式投資は難しいことを表した逸話なのですが、曜日と株式投資との関係についても投機家のラリー・ウィリアムズが言及していて、買って良い曜日と悪い曜日を統計的に導いています。なかには月齢と株式投資との関係を気にする人もいて、曜日や月齢の利用価値は意外にありそうです

情報月齢と株式投資の関係については、実践コーナー満月の日に株価は動くにあります。

曜日や月齢が与える影響

 あまり、曜日と月齢が統計解析の分析項目に入っていることはあまりありません。しかし、歴史的にも統計的にも曜日と月齢との相関を無視することができない事象が多いことは知る人ぞ知る事実です。実際、交通事故発生と月齢(満月)には相関関係があります。

そんな意味深な曜日や月齢に対して、カレンダー・システムパッケージが用意したのはweekdayプログラムとmoonプログラムです。

情報weekdayの使い方については、実践コーナー生まれる曜日は神様次第応用コーナー誕生日の曜日を知る方法を参照するとよく分かります。moonは月齢を計算するプログラムですが、この使い方も応用コーナー月齢とルナティックに詳しくあるので、参照ください。

今日の曜日と月齢

 カレンダー・システムパッケージにあるweekdayプログラムとmoonプログラムはそれぞれ曜日と月齢を計算するものですが、プログラムに8桁の日付を渡す仕様になっています。これは前に紹介したdateプログラムの仕様に合わせるためで、以下のようにすると今日の曜日と月齢を簡単に計算することができます。

  >rpn -c date | rpn -c weekday
  3
  >rpn -c date | rpn -c moon
  12


上記のrpn式を実行した当日は3なので水曜日、月齢は12なのでそろそろ満月ですね。以下に曜日の対比を示します(0が日曜日である点に注意してください)。

  0 日曜日
  1 月曜日
  2 火曜日
  3 水曜日
  4 木曜日
  5 金曜日
  6 土曜日


月の満ち欠けと呼び名(名称)

 次に月齢と月の呼び名を対比させておきます。

  月齢0 朔(新月)        月齢10             月齢20
  月齢1 繊月(二日月)    月齢11             月齢21
  月齢2 三日月          月齢12 十三夜月    月齢22 下弦の月(半月)
  月齢3                 月齢13 待宵月      月齢23
  月齢4                 月齢14 望月(満月)  月齢24
  月齢5                 月齢15 十六夜月    月齢25 有明月(二十六夜)
  月齢6                 月齢16 立待月      月齢26
  月齢7 上弦の月(半月)  月齢17 居待月      月齢27
  月齢8                 月齢18 寝待月      月齢28
  月齢9 十日夜月        月齢19 更待月      月齢29 晦(新月)

  ※新月を1日目と数えると月齢14にあたる満月はいわゆる十五夜になります。


正確には月の満ち欠け周期は約29.5日なので、小数点を含めた月齢値は新月は月齢0と月齢29.5、満月は14.8日です。同様に上弦は7.4日、下弦は22.2日です。ただし、周期的に変動しているので、この値はあくまで平均としてみたほうがいいでしょう。

大量の日付データを一気に

 前回のdateやtimeプログラムもそうでしたが、意外に曜日や月齢を簡単に計算してくれるプログラムはないものです。あっても、なぜか余分な機能が付いていたりして素直に使わせてくれませんし、インターネットのウェブサイト上で計算できたとして、ファイルに格納された大量の日付の変換には対応できません。

rpnのdate、weekday、moonを使うことで、大量の日付データから曜日や月齢に簡単に変換できますし、当日の日付から当月のデータだけを抽出するなどの自由が手に入ります。

警告moonが対応できる月齢計算は西暦1750年から西暦2200年までとなります。

情報本講座で使用したプログラムは、カレンダー・システムパッケージとして購入することができます。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。

カレンダー・システムパッケージ

カレンダー

ユーティリティー

マイスター

警告文字で作られた図表や式が崩れることがあります。ブラウザによっては固定幅フォントをMSゴシックにするときれいに表示されます。それでも崩れる場合は図表や式をメモ帳にコピー後、閲覧下さい。

警告rpn標準版(2kリビジョン)はダブルクォートで囲って下さい。

rpn 1 2 + ⇒ rpn "1 2 +"
rpn 1 -c foo ⇒ rpn "1" -c "foo"

ダブルクォートは省略できることが多いのですが、慣れない間は囲んだほうが無難です。なお、本ウェブサイトの記事ではrpn標準版(98リビジョン)を使用しているため囲っていません。詳しくは技術サポートの「rpn TIPS」を参照ください。

注意rpnの障害情報と対策はこちら