2009年2月9日月曜日

Gnucashの導入 その3 ポートフォリオの管理

MS Moneyで最も重要な機能にポートフォリオの管理があります。
その中心はMSNマネーから株や投資信託の価格の情報を読み取って、自動更新をするという機能です。

GnuCashにも相場を参照する機能がついていますが、今のところ初期設定では日本の株や投資信託の情報を読み取ることはできません。

GnuCashに付属している相場を参照する機能は、Finance::Quote(F::Q)というPerlスクリプトを使って行います。
F::Qには相場を参照するためのモジュールがあり、それを使ってそれぞれの価格を更新します。
例えば、米国株であればYahoo USAモジュール(USA.pm)、オーストラリア株であればASXモジュール(ASX.pm)という感じです。
F::Qを動作させるには、Active Perlをダウンロードし、GnuCashフォルダのBinファイル内のinstall-fq-modsというバッチファイルを動かします。これでモジュールは動くようになります。

しかし上述の通り、これでは日本の相場を参照することはできません。
日本の相場を参照するモジュール(JPN.pm)は、F::Q finance-quote-develに2001年に投稿されている方がいらっしゃいましたが、現在のYahooファイナンスと頁構造が違うのか、うまく働きませんでした。
しばらくF::QのヘルプやHacker's guideを読んだりしましたが、Perlの素養がないため結局理解できませんでした。

ここでGnuCashをあきらめようかと思いましたが、もう一度他のモジュールのソースを見直してみました。
Fidelityのモジュール(Fidelity.pm)を見てみると、FidelityのサイトにあるCSVファイルを参照してF::Qに情報を取り込んでいました。
これを利用すれば日本の相場もF::Qで取り込めると思い、以下のことを試してみました。

  • まず、Yahooファイナンスのポートフォリオに銘柄を登録します。
  • ExcelのWebクエリを使い、登録した銘柄のデータをExcelに落とせるようにします。
  • FidelityのCSVファイルを別のシートに貼り付けます(Fidelity.pmで使用するのは、銘柄コード(Symbol)と価格(NAV)です)。
  • Webクエリで落としたシンボルと価格をFidelityのシートに貼り付けます。
  • FidelityシートをCSVとして保存。
  • これでF::Qで使うCSVの準備は完了。

次にGnuCash側の準備。
  • 銘柄の登録を証券エディタで編集します(種類はFUNDでOK)。
  • 使用するモジュールはFidelityにする。

F::Qを動作させる準備。
  • 準備したCSVファイルをどこか利用できるサイトにアップ。
  • Fidelity.pmの$FIDELITY_URL = ("http://activequote.fidelity.com/nav/fulllist.csv");をアップしたサイトのアドレスに変更しておく。

価格エディタで相場を更新する。
これで作成した銘柄の価格がGnuCashに読み込めているはず。

この方法ではCSVファイルをアップロードしたりするのが面倒で、どこぞのサイトにCSVファイルを晒すのは気が引けますので、自前のHTTPDを動かすのもOK。
HTTPDは、XPならAN HTTPサーバー、Viasta Permiumであれば自前でHTTPDが動かせますので、CSVをルートに置き、$FIDELITY_URL = ("http://localhost/fulllist.csv");と変更すればOK。
必要なときだけデーモンを動かす。

これでセミオートマティックですが、GnuCashでも日本の相場更新が可能となりました。

Gnucashの導入 その2 MS Moneyからの移行

MS Moneyからデータを移行するのはちょっとした工夫が要ります。
MS MoneyのデータをそのままではGnuCashに移行できません(Quickenは可能らしいのですが)。
移行には一旦OFXファイルを作成するという一見ちぐはぐなことをしなければなりません。

以下の方法でMS Moneyの記録をGnuCashに移行しました。

  • MS MoneyにはデータをExcelに吐き出すExcelのアドオンをインストール(Ultrasoft MoneyLink)。
  • これを使って特定の資産のデータをExcelに吐き出します。
  • 次にこのデータをCSVファイルに保存。
  • Felica2Moneyをインストールする。
  • CSVファイルの取り込み”を参考に、定義ファイルを作成する。
  • 例えば”現金”のデータ抜き取りようの定義ファイルは以下のようにしてうまくいきました。

<?xml version="1.0" encoding="UTF-8"?>
<CsvRules>
<Rule>
<Ident>money cash</Ident>
<Name>MS Money現金</Name>
<FirstLine>番号,日付,資産,摘要,照合,金額,費目,内訳,備考</FirstLine>
<Format>Dummy,Date,Dummy,Desc,Dummy,Income,Dummy,Dummy,Memo</Format>
<Order>Ascent</Order>
</Rule>
</CsvRules>

  • 定義ファイルを所定の場所に収め、MoneyLinkで抜き出したCSVファイルをFelica2Moneyに読み込ませる。
  • 読み込み完了後、定義ファイルを選択し、OFXファイルを作成する。
  • 作成したOFXファイルをGnuCashのインポートを使って読み込み、どの資産にあたるのかを指定する(例えば現金)。
  • インポート後、それどれの項目の費用を指定する(食費とか)。
それぞれの資産について行うもよし、開始残高を設定して新しく記録するのもよし。
CSVファイルからOFXファイルを作るソフトウエアは、OFXConverterやMoneyConverterがありますが、一旦CSVを編集しなければならず、手間が増えます。

Gnucashの導入 その1 インストール

まずはGnuCashについて調べてみる。

GnuCashのHP

名前の通り、GNU GPLソフトウエアであり、現在のところWindows版もある。
日本語にもローカライズされているので、横文字が苦手でも何とかなるかも。
GnuCashは一般的な家計簿(単式簿記)とは違い、複式簿記といわれる仕組みを取り入れているらしい。
このへんの違いは、良くわかりませんがあらゆるお金の出入りがどこかに借方と貸方として記録されるということらしい。
例えばA銀行に給料として入金があると、ただの入金ではなく給料という項目も記録されるという。
このへんはMS Moneyと一緒です。

費目などの設定も初期設定を使うと一発でやってくれます。

MS Moneyと同様に、口座や現金などの資産項目をそれぞれ作り、それぞれに入力していきます。

GnuCashのHPからWindows版をダウンロードし、インストール、初期設定を済ませてしまうと使用可能です。
結構、ここまでは簡単でした。

2009年2月7日土曜日

Gnucashの導入 下調べ

家計簿ソフトというといろいろあるようで、例えばVectorに登録されているだけでも現在267本もあります。
まず口座管理という点からOFXに対応したソフトウエアがいいと思いました。

検索した結果、OFXファイルに対応しているものは

製品
  • Microsoft Money
  • マスターマネー
  • てきぱき家計簿マム
  • ミラクル家計簿
  • うっかりママの家計簿
シェアウェア
  • 家計簿ひかる
  • Let's 家計簿
フリー
  • ゆう子の家計簿
以上Felica2Money wikiより

この中でメンテナンスがしっかりしていて、実績があるもの、となるとやはりMS Money以外はありそうでないのが現状でした。
検索の範囲を海外まで広げると、フリーウエアで、メンテナンス体制がしっかりしていて、実績があるソフトウエアがありました。
それがGnuCashであります。

Gnucashの導入 前書き


家計管理ソフトウエアはいろいろなものがありますが、代表的なものはマイクロソフトの「Money(MS Money)」。
自分もこれを使っています。

MS MoneyはMSNマネーにあるアグレゲーションサービスで登録した口座なりの情報を一度にダウンロードできるという便利な機能(ゴールドサービス)がありますが、アップグレードを続けないと(MSへのお布施)いつの間にか使えなくなります。
自分もお布施を止めたため、この機能は使えなくなりました。
以後、手動でそれぞれの金融機関からOFXファイルをダウンロードし、手動での更新ということになります。
手動更新をしたほうがそれぞれの情報を嫌でも見なければならないので、確認という意味ではいいかもしれません。
その他にMS Moneyにはポートフォリオに登録した銘柄の値段(相場更新)を自動更新してくれる機能があり、ポートフォリオの評価には役立っています。

現在MS Money2007というソフトを使っていますが、この先MSがサービスの中止や変更をした場合、相場更新の機能が使えなくなるかもしれないと思うようになりました。
おそらくMSに今後もお布施をするつもりはないので、それに代わる家計管理ソフトを探さなければ、と思いたったのです。

TeX, LyX, biblatex, 日本語文献

 備忘録として TeXで文書を書くことが時々ある。引用文献がある文書だと、Wordは昔から使いにくいことがある(MendeleyやEndnoteを使うという手もありますが)。 TeXでの文献管理はbibtexを使用するが、慣れれば便利なもの。  長文で、本文も参考文献も織り交ぜな...