アクチュアリーになる前はシステムエンジニアだったのでプログラムを組むのは得意でさまざまなプログラミング言語を
使いましたが、現在はC++だけに絞っています。自分の仕事用の開発だけでなく社内や他の保険会社に収支シミュレーションや
約款チェックなどのプログラムを提供したこともあります。統計処理などは現在はEXCELがあるので誰でもできますが、
複雑なシミュレーションなどはEXCELでは煩雑な処理になり、マクロで作ったとしてもメンテナンスがほぼ不可能になります。
保険数理の仕事では数値データを扱うことが不可欠で、通常はExcelなどで処理することが多いのですが、
データベースからダウンロードしたり、EXCELのシートを外部プログラムで加工したりする場合にはCSV形式がよく使われます。
Excelは便利なソフトですが古いバージョンでは扱えるレコード数が6万5000件くらいが上限で、
最新バージョンでも100万件くらいが上限となっています。
これを超えるデータを扱う場合は自分でプログラムを組むことになりますが、この場合データベースからダウンロードするデータは
たいていCSV(Comma Separated Value)という形式になっています。
CSVはプログラム間でデータのやりとりを行う場合に一般的によく使われExcelでも直接扱うことができます。
CSVというのはテキストを単にコンマ(,)で区切っただけの単純なファイルですが、
日常よく使うので、CSVファイルから直接データをセレクトしたり、ソートをかけたりする汎用ユーティリティをC++Builderで作りました。
Excelでは扱えない大きなファイルもこれらのユーティリティーを使って必要データをセレクトしたり、
コンパクションしてファイルを小さくすればExcelで扱えるようになります。
これらのプログラムはWindowsが動くパソコン(UNIXやMACはダメです)なら特別なインストールなしに動きますし、
入力ファイルの大きさに制限はありません。
(ただしWindowsにはバージョンによりファイルサイズの制限がありますので、その制限は受けます。)
アンダーラインのついたプログラム名をクリック
すると自分の端末にダウンロードできます。
以下のプログラム群は当初はそのままダウンロードして実行できるようにしていたのですが、
最近はほとんどのブラウザにウイルスチェック機能があり、
一部のブラウザではサフィックス(ファイル名の"."の後ろの3文字)が"exe"になっているものは
ウイルスとみなしてダウンロードできないようになっています。
このため以下のプログラム群は圧縮ファイル(zip)としてあります。
ダウンロードしたら解凍して実行してください。
最近ではzipで圧縮してあってもgoogleCHROMEからは「ダウンロードするのは危ない」
という警告メッセージが出ますが、そのまま継続すればダウンロードできます。
(それでもこのHPが心配だったら、損害保険会社の保険計理人かベテランアクチュアリーに聞いてみてください。
何人かに聞けばひとりぐらい私の正体を知っている人がいると思います。)
explorerやfirefoxではこのような余計なおせっかいはありません。CHROMEでは安全なサイトでもときどき
アクセスできなくなるという迷惑なおせっかいをやってくれますので必要なサイトにアクセスできないことがあります。
プログラムが開始するとウインドウが表示されるので窓に書き込んだり、
ボタンをクリックしたりして計算に必要な情報を入力します。
まず、INPUT-FILEをクリックして入力ファイルを指定し、次にOUTPUT-FILEをクリックして出力ファイルを指定します。
それからKeyの位置や値を入力しますが、これはプログラムにより異なります。
EXCUTEというボタンをクリックすると計算が実行され、EXITでプログラムを終了します。
自分で普段使っているプログラムですが、もしBUG等が出た場合はメールいただけると幸いです。(postmaster@tacuslay.com)
もちろんテストは十分してあるのですが実行結果の正確性に関して責任は持てませんので、自己責任で実行してください。
レコードを指定したキーの順番に並べなおすプログラムです。
キーとなる項目の性質(Attribute)は文字か数字を指定し、並べ方(Order)は昇順か降順を指定できます。
キーは最大10個まで指定できます。
Key#にkeyの順番を入れます。最初のKey(一番上位のキー)は1番です。
Key PositionではKeyとなる項目の順番を指定します。
Attributeではキーが文字か数字かを選択し、Orderでは昇順か降順かの並べ方を指定します。
csvsort.zip
指定したキーのレコードを抽出して出力するプログラムです。
「Keyの位置」でキーとなる項目の位置(一番最初の項目なら1)を指定し、「Keyの値」で値を指定します。
キーとなる項目の性質(Attribute)は文字か数字を指定し、抽出の方法はキーと等しいか、
あるいは大小関係を満たしたときにアウトプットファイルに出力されます。
csvsel.zip
ファイルが正しくソートされているかどうかをチェックするプログラムです。
キーの指定はソートプラグラムと同一です。
csvsortchk.zip
ソートされたファイルに対して、同一キーのレコードを足しこむプログラムです。
個別レコードの件数が大きいときに集約レコードを作るために使います。
「Key項目の位置」にキーとなる項目の位置をスペースで区切って入力します。
同様に「集計項目の位置」には集計を行う項目の位置をスペースで区切って入力します。
compact.zip
ソートとコンパクションを同時に行うプログラムです。
使用法は上記ソートおよびコンパクションプログラムと同様です。
ソート終了後の中間ファイル(SRTCMPCT.WK)を出力しますが、このファイルは正常終了すると削除されます。
srtcmpct.zip
レコード上の指定された項目を集計するプログラムです。
csvsum.zip
ファイル先頭から目的レコード群までと、目的レコード群の後ろのレコードをすべて削除するプログラムです。
TAILを0と指定すると後ろのレコードは削除されません。
csvcut.zip
既存のファイルの任意の項目を選択して並べ替え、新しいCSVファイルを作るプログラムです。
csvedit.zip
テキスト、WORD,EXCEL,音楽,ムービーなどあらゆるファイルを検索して実行するプログラムです。
ファイルやプログラムをどのフォルダーに入れたか思い出せないときのためのメモです。
ファイルを連想するあらゆるキーワードを入れておき、そのキーワードで検索して実行できます。
ファイル名のみで実行するにはファイルの拡張子とプログラムの関連付けが必要です。
ファイルだけでなくフォルダーやURLも登録できるので、「お気に入り」としても使えます。
ダウンロードして解凍するとKEYWORDというフォルダーが作成されるので、
その中にあるKEYWORD.exeを実行してください。
KEYWORD.zip
個人情報管理プログラムです。
名刺管理用に作成しましたが、その人の写真や関連ファイルがある場合も格納できます。
職業、住所、電話などの名刺データだけでなく経歴、趣味などあらゆる情報を入れて検索できます。
住所録プログラム、ワードやEXCELで作成済のデータもCSVに出力すれば読み込めます。
ダウンロードして解凍するとNAMECARDというフォルダーが作成されるので、
その中にあるwinname.exeを実行してください。
NAMECARD.zip
スケジュール管理プログラムです。
データはテキストファイル(SCHEDULE.TXT)として保存されるので、テキストエディターで編集できます。
SCHEDULE.exeもテキストエディター機能があり、検索ができます。
日付が土日は赤、祝祭日はグリーンで表示されます。
記述欄(9列目から)にURLを記入しURL-JUMPにチェックをいれておくと、URLをクリックしたときに
ブラウザを起動してそのURLを表示します。これはZOOMなどのリモート会議の予定時刻とURLを入れるためです。
また時刻欄に時刻を入れて記述欄にALARMと記述するとその時刻にアラームが鳴ります。
SCHEDULE.zip
確率計算用ユーティリティー
標準正規分布
二項分布
指数分布
ポアソン分布
メール添付用ファイル分割・統合
ファイルが大きすぎてメールに添付できない場合に分割するプログラムです。
FILEDIV.exeは分割する大きさを指定できますのでメールシステムの制限に従い分割します。
分割して送られたファイルは統合することにより復元されます。
FILERST.exeを実行し、分割されたファイルのどれか一つを指定することにより全体が統合されます。
またバイナリーファイルがメール添付できない環境ではHEXBIN.exeにより16進数(テキスト)に
変換してメール添付で送信し、受信したら同じプログラムで元のバイナリに戻すことができます。
ファイル分割
ファイル統合
バイナリ・16進相互変換
その他
その他