<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>mk-mode BLOG</title>
	<atom:link href="http://www.mk-mode.com/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mk-mode.com/wordpress</link>
	<description>このブログは自作の自宅サーバに構築した CentOS で運用しています。</description>
	<lastBuildDate>Fri, 18 May 2012 15:20:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mk-mode.com/wordpress/feed/" />
		<item>
		<title>玄箱HG &#045; Fedora 導入後勝手にリブートする件！</title>
		<link>http://www.mk-mode.com/wordpress/2012/05/19002005/</link>
		<comments>http://www.mk-mode.com/wordpress/2012/05/19002005/#comments</comments>
		<pubDate>Fri, 18 May 2012 15:20:05 +0000</pubDate>
		<dc:creator>管理人@mk-modeBLOG</dc:creator>
				<category><![CDATA[サーバ構築]]></category>
		<category><![CDATA[玄箱]]></category>
		<category><![CDATA[Fedora]]></category>

		<guid isPermaLink="false">http://www.mk-mode.com/wordpress/?p=6979</guid>
		<description><![CDATA[こんばんは。 久方ぶりの玄箱HGについての話題です。 玄箱とは「玄人志向」さんが以前販売していた NAS で、ハードディスクを搭載して設定すればファイルサーバとして使用可能のものです。 Monta Vista Linux [...]]]></description>
			<content:encoded><![CDATA[<p>こんばんは。</p>
<p>久方ぶりの玄箱HGについての話題です。</p>
<p>玄箱とは「<a href="http://kuroutoshikou.com/" target="_blank">玄人志向</a>」さんが以前販売していた NAS で、ハードディスクを搭載して設定すればファイルサーバとして使用可能のものです。<br />
Monta Vista Linux を標準で搭載しているのですが、Debian とか Fedora とか Vine、更には NetBSD とかを換装することも可能で、ファンの間では流行っていました。<br />
当方も、一時期Webサーバ等構築して公開サーバとして使用した時期もありました。<br />
結局、１台であれこれしようとすると動作が非常に重たくなるので、現在はファイルサーバとしてしか使用していませんでした。。。</p>
<p>ちなみに、玄箱HGの主なスペックは以下の通り。</p>
<ul>
<li>CPU : PowerPC 266MHz</li>
<li>RAM : 128MB</li>
<li>LAN : 1000Base-T/100Base-T/10Base-T×1</li>
</ul>
<p><span id="more-6979"></span><br />
実際、現在は Fedora を導入しています。<br />
Fedora7 から順次アップグレードしていった Fedora11 (もちろんPowerPC版) です。<br />
Fedora は PowerPC 版は 12 までリリースされていますが、当方の場合、現時点では 12 にアップグレードすると起動しなくなってしまうので 11 までとしています。（<span style="color: #ff6600;">※また、１回で成功するとも限りません。当方も何回か失敗しています。</span>）<br />
Fedora11 を導入できる（有志による）パッケージでも導入可能ですが、ブートプロセスの違いにより「ファン回転数」制御ができません。<br />
なので、Fedora7 を導入できる（有志による）パッケージで導入後徐々にアップグレードしていく方法を採っています。<br />
ちなみに、その（有志による）パッケージは現在ダウンロード可能なサイトが閉鎖されています。<br />
※ですから、現在ではそのパッケージを所有している人だけが「玄箱Fedora」を楽しめる事になります。</p>
<p>※当ブログの過去記事もご参照ください（「玄箱」カテゴリ）</p>
<p>そして、ここから本題です。</p>
<p>玄箱HG に Fedora を導入してあれこれと（アップグレード等）作業している最中に、突然勝手にリブートがかかるようになる時期があります。<br />
そのような現象に陥る詳細なタイミングは覚えていませんが、電源投入後５分位すると勝手にリブートするようになりました。</p>
<p>後学のために対処方法を記録しておく事にします。</p>
<h3>作業記録</h3>
<h4>原因</h4>
<p>マシン自体の日時が９時間進んでしまう（JSTでなくGMTになってしまう）ことが原因のようです。<br />
NTP サーバを導入して時刻の同期を取っても勝手に元に戻ってしまいます。<br />
特別な作業が必要のようです。調査した結果は以下の通りです。</p>
<h4>1. タイムゾーン設定</h4>
<p>&#8220;/etc/localtime&#8221; を日本のタイムゾーンに設定します。（シンボリックリンクをはる）</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# ln -s /usr/share/zoneinfo/Japan localtime
</pre>
<h4>2. ハードウェアクロックの同期</h4>
<p>ハードウェアクロックを同期させます。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# clock -w
</pre>
<h4>2. ハードウェアクロックの確認</h4>
<p>ハードウェアクロックを確認します。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# hwclock
</pre>
<h4>3. リブート</h4>
<p>玄箱HGを再起動させます。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# reboot
</pre>
<hr />
<p>今の時代、もう玄箱を使用している人も少ないでしょうが、非力でも意外と使えるので、重宝しています。<br />
※実は、最近ファイルサーバ以外の別の使用方法を思い付き、現在検討中。</p>
<p><iframe style="width: 120px; height: 240px;" src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4899770987&amp;ref=qf_sp_asin_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="320" height="240"></iframe><iframe style="width: 120px; height: 240px;" src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4756146287&amp;ref=qf_sp_asin_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="320" height="240"></iframe></p>
<p>以上です。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mk-mode.com/wordpress/2012/05/19002005/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mk-mode.com/wordpress/2012/05/19002005/" />
	</item>
		<item>
		<title>WP Social Bookmarking Light で「いいね」ボタンが表示されない件！</title>
		<link>http://www.mk-mode.com/wordpress/2012/05/17002052/</link>
		<comments>http://www.mk-mode.com/wordpress/2012/05/17002052/#comments</comments>
		<pubDate>Wed, 16 May 2012 15:20:52 +0000</pubDate>
		<dc:creator>管理人@mk-modeBLOG</dc:creator>
				<category><![CDATA[ブログ]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.mk-mode.com/wordpress/?p=6967</guid>
		<description><![CDATA[こんばんは。 当ブログ(by WordPress)では、各種ソーシャルブックマークを簡単に設置できるプラグイン &#8220;WP Social Bookmarking Light&#8221; を使用して、ツイッターの [...]]]></description>
			<content:encoded><![CDATA[<p>こんばんは。</p>
<p>当ブログ(by WordPress)では、各種ソーシャルブックマークを簡単に設置できるプラグイン &#8220;WP Social Bookmarking Light&#8221; を使用して、ツイッターの「ツイート」ボタンとFacebookの「いいね」ボタンを設置しています。</p>
<p>しかし、いつの頃からか「いいね」ボタンが表示されなくなっていました。<br />
おそらく、プラグインのアップデートをした時からでしょう。</p>
<p>調査した結果、原因が判明したので、対策を施しました。</p>
<p><span id="more-6967"></span></p>
<h3>作業記録</h3>
<p>※以降に出現する &#8220;＆&#8221; 実際は半角文字です。</p>
<h4>1. 発生した現象</h4>
<p>プラグインの設定で、「ツイート」ボタン・「いいね」ボタンを表示するようにしているにもかかわらず、「ツイート」ボタンしか表示されなくなった。<br />
ちなみに、「いいね」ボタンには &#8220;xfbml&#8221; バージョンと &#8220;iframe&#8221; バージョンが設定できますが、当方の場合 &#8220;iframe&#8221; バージョンを使用しています。<br />
&#8220;xfbml&#8221; バージョンだと今回のような現象は発生しませんが、W3C で Valid になりません。Valid にしたければ別の対応が必要になります。<br />
<a href="http://www.mk-mode.com/wordpress/wp-content/uploads/2012/05/SOCIAL_BOOKMARK_LIKE_1.jpg" rel="lightbox[6967]"><img src="http://www.mk-mode.com/wordpress/wp-content/uploads/2012/05/SOCIAL_BOOKMARK_LIKE_1.jpg" alt="" title="SOCIAL_BOOKMARK_LIKE_1" width="200" height="50" class="size-full wp-image-6968" /></a></p>
<h4>2. 原因</h4>
<p>ページのソースを見てみると、特殊文字 &#8220;＆&#8221; を表示させる際に &#8220;＆amp;&#8221; とすべき箇所が &#8220;$amp;&#8221; となっていました。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
・・・ colorscheme=light&amp;amp;font=arial$amp;locale=ja_JP&amp;amp;height=21&quot; ・・・
</pre>
<h4>3. 対策</h4>
<p>WordPress のプラグインの編集画面等で、PHPスクリプト &#8220;wp-social-bookmarking-light/modules/services.php&#8221; を編集します。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
・・・ colorscheme=light&amp;amp;font=arial$amp;locale=ja_JP&amp;amp;height=21&quot; ・・・
　　　　　　　　　　　　　　　　　　　↓
・・・ colorscheme=light&amp;amp;font=arial&amp;amp;locale=ja_JP&amp;amp;height=21&quot; ・・・
</pre>
<h4>4. 表示確認</h4>
<p>「いいね」ボタンが表示されるようになったか確認する。<br />
<a href="http://www.mk-mode.com/wordpress/wp-content/uploads/2012/05/SOCIAL_BOOKMARK_LIKE_21.jpg" rel="lightbox[6967]"><img src="http://www.mk-mode.com/wordpress/wp-content/uploads/2012/05/SOCIAL_BOOKMARK_LIKE_21.jpg" alt="" title="SOCIAL_BOOKMARK_LIKE_2" width="200" height="50" class="size-full wp-image-6970" /></a></p>
<hr />
<p>これで、W3C で Invalid にならずに「いいね」ボタンを表示できるようになりました。<br />
当記事でも最下部に表示できていると思います。<br />
当然、プラグインをアップデートした際には今回の対策をやり直す必要があります。<br />
というか、アップデートするときにはこのバグは改修されていると思いますが。。。</p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4883377245&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4883377830&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=483994105X&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>以上。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mk-mode.com/wordpress/2012/05/17002052/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mk-mode.com/wordpress/2012/05/17002052/" />
	</item>
		<item>
		<title>FreeBSD 9.0 &#045; RubyGems libv8 インストール！</title>
		<link>http://www.mk-mode.com/wordpress/2012/05/16002016/</link>
		<comments>http://www.mk-mode.com/wordpress/2012/05/16002016/#comments</comments>
		<pubDate>Tue, 15 May 2012 15:20:16 +0000</pubDate>
		<dc:creator>管理人@mk-modeBLOG</dc:creator>
				<category><![CDATA[サーバ構築]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.mk-mode.com/wordpress/?p=6960</guid>
		<description><![CDATA[こんばんは。 前回は FreeBSD 8.3 での libv8 のインストールについてお話しました。 FreeBSD 8.3 &#45; RubyGems libv8 インストール！ 今回は FreeBSD 9.0 での [...]]]></description>
			<content:encoded><![CDATA[<p>こんばんは。</p>
<p>前回は FreeBSD 8.3 での libv8 のインストールについてお話しました。</p>
<ul>
<li><a href="http://www.mk-mode.com/wordpress/2012/05/14002031/" target="_blank">FreeBSD 8.3 &#45; RubyGems libv8 インストール！</a></li>
</ul>
<p>今回は FreeBSD 9.0 での libv8 インストールのお話です。<br />
FreeBSD 8.3 での対応方法と同じ方法ではうまくいきません。<br />
少し細工をします。</p>
<p><span id="more-6960"></span></p>
<h3>作業記録</h3>
<h4>0. 作業環境</h4>
<ul>
<li>FreeBSD 9.0 (amd64)</li>
<li>Ruby 1.9.3-p194</li>
<li>Rails 3.2.3</li>
</ul>
<h4>1. 発生するエラー</h4>
<p>libv8 インストール後、therubyracer をインストールしようとして発生したエラーです。（Rails で bundel install しても同じエラーが発生します）<br />
libv8 の部分でエラーが発生しているようです。(FreeBSD 8.3 でのエラーと同じです)</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# gem install therubyracer
Building native extensions.  This could take a while...
ERROR:  Error installing therubyracer:
        ERROR: Failed to build gem native extension.

  :
  :
  :

g++: /usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/build/v8/libv8.a: No such file or directory
*** Error code 1

Stop in /usr/local/lib/ruby/gems/1.9.1/gems/therubyracer-0.10.1/ext/v8.

Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/therubyracer-0.10.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/therubyracer-0.10.1/ext/v8/gem_make.out
</pre>
<h4>2. 原因</h4>
<p><a href="http://rubydoc.info/gems/libv8/3.3.10.4/frames" target="_blank">File: README &#45; Documentation for libv8 (3.3.10.4)</a> にも記載されてますが、元々 libv8 は</p>
<ul>
<li>x86_64-darwin10.7.0</li>
<li>x86_64-linux</li>
<li>x86-linux</li>
</ul>
<p>がサポート対象のようです。<br />
そのため、今回の環境(FreeBSD amd64版)では libv8 のインストールは一見成功しているようでも、実は正しくインストールされていないようです。（FreeBSD 8.3 のケースを同じ）</p>
<h4>3. 対策</h4>
<p>・後に必要となるビルドツール SCons をインストールしておく</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# cd /usr/ports/devel/scons
# make install clean
</pre>
<p>・RubyGems libv8 を普通にインストールする。一見インストールに成功したように見えるはずです。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# gem install libv8
</pre>
<p>・libv8 を再度手動でビルドするのですが、その前に SConstruct を編集しておきます。（make の Makefile に当たるファイルです）<br />
&#8220;freebsd&#8221; の &#8220;CCFLAGS&#8221; の部分を以下のように修正します。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# cd /usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/build/v8
# vi SConstruct
'os:freebsd': {
  'CPPPATH' : ['/usr/local/include'],
  'LIBPATH' : ['/usr/local/lib'],
  # 'CCFLAGS':      ['-ansi'],
  'CCFLAGS':      ['-ansi', '-fPIC'],
  'LIBS': ['execinfo']
},
</pre>
<p>・64ビット版を指定してビルドします。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# scons arch=x64
</pre>
<p>・正常に終了することを確認します。</p>
<h4>4. therubyracer インストール</h4>
<p>libv8 がインストールできたら、therubyracer をインストールします。成功するはずです。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# gem install therubyracer
</pre>
<p>もしくは、rails アプリ側で bundel install しても OK！</p>
<h4>参考サイト</h4>
<ul>
<li><a href="http://rubygems.org/gems/libv8" target="_blank">libv8 | RubyGems.org | your community gem host</a></li>
<li><a href="https://github.com/cowboyd/therubyracer/issues/158" target="_blank">Issue #158: Error building therubyracer/libv8 on FreeBSD 9 (and a solution) ・ cowboyd/therubyracer ・ GitHub</a></li>
</ul>
<hr />
<p>これで、FreeBSD 9.0 (amd64) でも最新の Ruby on Rails が使用できるようになりました。<br />
また、今回は FreeBSD 9.0 でしたが、ひょっとしたら 8系でも同様の方法でいけるかもしれません。（未確認）<br />
※ちなみに、i386 版については試していませんしので現時点では詳細は不明です。</p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4774150479&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4873113946&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4774146633&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>以上。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mk-mode.com/wordpress/2012/05/16002016/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mk-mode.com/wordpress/2012/05/16002016/" />
	</item>
		<item>
		<title>FreeBSD 8.3 &#045; RubyGems libv8 インストール！</title>
		<link>http://www.mk-mode.com/wordpress/2012/05/14002031/</link>
		<comments>http://www.mk-mode.com/wordpress/2012/05/14002031/#comments</comments>
		<pubDate>Sun, 13 May 2012 15:20:31 +0000</pubDate>
		<dc:creator>管理人@mk-modeBLOG</dc:creator>
				<category><![CDATA[サーバ構築]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.mk-mode.com/wordpress/?p=6953</guid>
		<description><![CDATA[こんばんは。 今日は、ブログでは滅多にしない FreeBSD 関連についてのお話です。 FreeBSD で Ruby on Rails 3.2.x を動かそうとすると、therubyracer という RubyGems  [...]]]></description>
			<content:encoded><![CDATA[<p>こんばんは。</p>
<p>今日は、ブログでは滅多にしない FreeBSD 関連についてのお話です。</p>
<p>FreeBSD で Ruby on Rails 3.2.x を動かそうとすると、therubyracer という RubyGems が必要になります。<br />
この therubyracer のインストールにはさらに Google JavaScript エンジンである libv8 という RubyGems が必要です。</p>
<p>しかし、libv8 をインストール後 therubyracer をインストールしようとするとエラーが発生してインストールできません。</p>
<p><span id="more-6953"></span></p>
<h3>作業記録</h3>
<h4>0. 作業環境</h4>
<ul>
<li>FreeBSD 8.3 (amd64)</li>
<li>Ruby 1.9.3-p194</li>
<li>Rails 3.2.3</li>
</ul>
<h4>1. 発生するエラー</h4>
<p>libv8 インストール後、therubyracer をインストールしようとして発生したエラーです。（Rails で bundel install しても同じエラーが発生します）<br />
libv8 の部分でエラーが発生しているようです。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# gem install therubyracer
Building native extensions.  This could take a while...
ERROR:  Error installing therubyracer:
        ERROR: Failed to build gem native extension.

  :
  :
  :

g++: /usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/build/v8/libv8.a: No such file or directory
*** Error code 1

Stop in /usr/local/lib/ruby/gems/1.9.1/gems/therubyracer-0.10.1/ext/v8.

Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/therubyracer-0.10.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/therubyracer-0.10.1/ext/v8/gem_make.out
</pre>
<h4>2. 原因</h4>
<p><a href="http://rubydoc.info/gems/libv8/3.3.10.4/frames" target="_blank">File: README &#45; Documentation for libv8 (3.3.10.4)</a> にも記載されてますが、元々 libv8 は</p>
<ul>
<li>x86_64-darwin10.7.0</li>
<li>x86_64-linux</li>
<li>x86-linux</li>
</ul>
<p>がサポート対象のようです。<br />
そのため、今回の環境(FreeBSD amd64版)では libv8 のインストールは一見成功しているようでも、実は正しくインストールされていないようです。</p>
<h4>3. 対策</h4>
<p>普通に libv8 をインストールするのではなく、FreeBSD 8 (amd64) 用の Gem が（今では）用意されているので、それを直接指定してインストールすると良いようです。<br />
その方法は以下の通り。（あらかじめ、先ほどインストールした libv8 はアンインストールしておきます）</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# cd /usr/local/src/
# wget http://rubygems.org/downloads/libv8-3.3.10.4-amd64-freebsd-8.gem
# gem install libv8 --local
</pre>
<h4>4. therubyracer インストール</h4>
<p>libv8 がインストールできたら、therubyracer をインストールします。成功するはずです。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# gem install therubyracer
</pre>
<p>もしくは、rails アプリ側で bundel install しても OK！</p>
<h4>参考サイト</h4>
<ul>
<li><a href="http://rubygems.org/gems/libv8" target="_blank">libv8 | RubyGems.org | your community gem host</a></li>
</ul>
<hr />
<p>これで、FreeBSD 8.3 (amd64) でも最新の Ruby on Rails が使用できるようになりました。<br />
また、今回は FreeBSD 8.3 でしたが、8系なら同様の方法だと思います。<br />
※ちなみに、i386 版については試していませんし、i386 用の Gem も公開されていないようなので現時点では詳細は不明です。</p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4774150479&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4873113946&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4774146633&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>以上。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mk-mode.com/wordpress/2012/05/14002031/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mk-mode.com/wordpress/2012/05/14002031/" />
	</item>
		<item>
		<title>MySQL &#045; テーブル単位でダンプファイル出力！</title>
		<link>http://www.mk-mode.com/wordpress/2012/05/12002031/</link>
		<comments>http://www.mk-mode.com/wordpress/2012/05/12002031/#comments</comments>
		<pubDate>Fri, 11 May 2012 15:20:31 +0000</pubDate>
		<dc:creator>管理人@mk-modeBLOG</dc:creator>
				<category><![CDATA[サーバ構築]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mk-mode.com/wordpress/?p=6939</guid>
		<description><![CDATA[こんばんは。 通常、データベース MySQL でダンプファイルを出力する場合、&#8221;mysqldump&#8221; コマンドを使ってデータベース単位に行うことが多いと思います。 当方のサーバでも普段はその方法を [...]]]></description>
			<content:encoded><![CDATA[<p>こんばんは。</p>
<p>通常、データベース MySQL でダンプファイルを出力する場合、&#8221;mysqldump&#8221; コマンドを使ってデータベース単位に行うことが多いと思います。<br />
当方のサーバでも普段はその方法を取り入れています。<br />
※実際には、ダンプ出力の他に &#8220;mysqlhotcopy&#8221; も併用していますが。。。</p>
<p>ただ、このダンプファイルから特定のテーブルを抜き出してインポートするのが若干面倒です。<br />
普段のバックアップとしては問題ないのですが、サーバテスト等でテーブルをひとつひとつ確認しながらインポートしたい時などに面倒を感じます。</p>
<p>そこで当方は、このような時のためにシェルスクリプトを作成しています。<br />
単純な物ですが、サーバ移行作業時にはとても重宝しています。</p>
<p>公開します。よろしければご参考に。</p>
<p><span id="more-6939"></span></p>
<h4>シェルスクリプト</h4>
<p>MySQL 5.1 系、5.5 系どちらでも動作を確認しています。<br />
以下は、予め作成しておいた dump_＜テーブル名＞ というディレクトリへテーブルごとにダンプファイルを出力するシェルスクリプトです。</p>
<pre class="brush: bash; title: ; notranslate">
#!/bin/bash

DB=hoge

for TABLE in `mysql -uroot -pfugafuga -N -s -e &quot;show tables in $DB;&quot;`; do
    echo $TABLE
    mysqldump -u root -pfugafuga $DB $TABLE &gt; dump_$DB/$TABLE.sql
done;
</pre>
<p>&#8220;mysql&#8221; コマンドのオプション（&#8221;-u&#8221;, &#8220;-p&#8221; 以外）について、</p>
<table>
<tr>
<th align="center">オプション</th>
<th align="center">説　明</th>
</tr>
<tr>
<td align="center">-N</td>
<td>結果にカラム名を記述しません。</td>
</tr>
<tr>
<td align="center">-s</td>
<td>サイレントモード。出力生成を少なくします。</td>
</tr>
<tr>
<td align="center">-e</td>
<td>ステートメントを実行します。</td>
</tr>
</table>
<h4>参考サイト</h4>
<ul>
<li><a href="http://dev.mysql.com/doc/refman/5.1/ja/mysql-command-options.html" target="_blank">MySQL :: MySQL 5.1 リファレンスマニュアル :: 7.7.1 mysql オプション</a></li>
</ul>
<hr />
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4873114268&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4798124230&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4798111139&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>以上。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mk-mode.com/wordpress/2012/05/12002031/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mk-mode.com/wordpress/2012/05/12002031/" />
	</item>
		<item>
		<title>株価 &#045; バックテスト（ADXギャッパー）！</title>
		<link>http://www.mk-mode.com/wordpress/2012/05/10002031/</link>
		<comments>http://www.mk-mode.com/wordpress/2012/05/10002031/#comments</comments>
		<pubDate>Wed, 09 May 2012 15:20:31 +0000</pubDate>
		<dc:creator>管理人@mk-modeBLOG</dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[株式]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.mk-mode.com/wordpress/?p=6935</guid>
		<description><![CDATA[こんばんは。 Ruby + MySQL で自作した株価取得のシステム。 全市場（東京・大阪・名古屋・札幌・福岡）の全銘柄の1983年からの全取引データを取得しています。 以前は、売買サイン発生後の株価の挙動を集計しました [...]]]></description>
			<content:encoded><![CDATA[<p>こんばんは。</p>
<p>Ruby + MySQL で自作した株価取得のシステム。<br />
全市場（東京・大阪・名古屋・札幌・福岡）の全銘柄の1983年からの全取引データを取得しています。</p>
<p>以前は、売買サイン発生後の株価の挙動を集計しました。</p>
<ul>
<li><a href="http://www.mk-mode.com/wordpress/2012/05/04002034/" target="_blank">株価 &#45; 売買サインチェック（ADXギャッパー）！</a></li>
</ul>
<p>今回は、「<span style="color: #ff6600;">ADXギャッパー</span>」での計算で発生した売買サインデータを基に、仮に取引をしていた場合にどのような結果（損益）になるのかを検証していました。<br />
（ADXギャッパーについては上記の過去記事をご参照ください。）<br />
通常、このようなテストのことをバックテストと言います。</p>
<p>全体的にどんな傾向があるのかを把握するのと、Ruby (+ MySQL) の学習が目的です。<br />
<span style="color: #ff6600;">※興味が無ければスルーしてください。</span></p>
<p><span id="more-6935"></span><br />
以下に、前提条件・検証結果を掲載します。</p>
<h3>１．前提条件等</h3>
<h4>１．売買サインの定義</h4>
<ul>
<li>前日の引け時点で、<br />
      12日で計算した ADX が 30 以上、<br />
      28日で計算した +DI が -DI よりも大きく、<br />
      前日安値よりも当日寄付きが低く、<br />
      当日高値が前日安値より大きい時、買い。</li>
<li>前日の引け時点で、<br />
      12日で計算した ADX が 30 以上、<br />
      28日で計算した -DI が +DI よりも大きく、<br />
      前日高値よりも当日寄付きが高く、<br />
      当日安値が前日高値より小さい時、売り。</li>
</ul>
<p>としました。<br />
DI, ADX を計算する日数はアンチ手法では一般的（？）な 28, 12 としています。<br />
また、調整後終値（株式分割があった場合の調整値）を考慮していません。</p>
<h4>２．検証銘柄と検証期間</h4>
<p>2012年4月20日現在上場している全市場の 3,583 銘柄を対象に、2000年1月1日から2011年12月31日の株価データを使用して検証しました。<br />
また、複数の市場に上場している銘柄については、優先市場のみで検証しました。<br />
※全取引件数は 7,898,726 件</p>
<h4>３．注文条件</h4>
<ul>
<li>資金は 5,000,000 円に設定</li>
<li>無ポジション中に買いサイン発生で、買いエントリ</li>
<li>買いポジション中にストップロス発生で、エグジット</li>
<li>買いポジション中に売りサイン発生で、エグジット</li>
<li>無ポジション中に売りサイン発生で、売りエントリ</li>
<li>売りポジション中にストップロス発生で、エグジット</li>
<li>売りポジション中に売りサイン発生で、エグジット</li>
<li>エントリ・エグジットは翌営業日の始値で行う</li>
<li>手数料は、SBI証券の手数料（スタンダードプラン）を使用する。</li>
<li>リスク率は 0.05 に設定</li>
<li>ストップロス率は 0.4 に設定</li>
<li>スリッページは 1 に設定</li>
<li>呼び値も考慮</li>
<li>エントリ時は、毎回資金残高中で投資可能な最高額を投資</li>
<li>エントリ時に資金残高が不足する場合はエントリしない。</li>
</ul>
<p>各種用語については、各自でお調べください。<br />
検証アルゴリズムは以下の書籍（エクセルでの検証）も参考にしています。</p>
<ul>
<li><a href="http://www.amazon.co.jp/gp/product/477599039X/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;tag=komasaru-22&#038;linkCode=as2&#038;camp=247&#038;creative=1211&#038;creativeASIN=477599039X" target="_blank">自動売買ロボット作成マニュアル~エクセルで理想のシステムトレード (現代の錬金術師シリーズ)</a></li>
</ul>
<h4>４．検証方法</h4>
<ol>
<li>各銘柄について、対象の期間内のデータで売買サインの発生を検証する。</li>
<li>各銘柄について、上記３の「注文条件」にしたがって、バックテストを行う。<br />
      算出項目：売買単位、手数料、損益、総損益、資金残高、最大ドローダウン</li>
<li>全銘柄のバックテスト結果を集計する。<br />
      検証項目：総損益、利益、損益、プロフィットファクター、トレード回数、<br />
      　　　　　勝率、勝ちトレード数、負けトレード数、最大利益額、最大損失額、<br />
      　　　　　総手数料額、最大ドローダウン、<br />
      　　　　　平均損益額、平均利益額、平均損失額</li>
</ol>
<h3>２．検証結果</h3>
<h4>１．バックテスト結果</h4>
<p>買い・売り両方のエントリを想定して検証しています。<br />
全銘柄のトータルなので、莫大な数値となっています。<br />
やはり、総損益もマイナスとなってしまいます。<br />
また、買いエントリだけ、売りエントリだけを想定して検証した結果は、金額に差が出るものの比率は同じような結果になりました。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
－－－－－－－－－－－ [ TRADE(ALL)   ][ TRADE(LONG)  ][ TRADE(SHORT) ]
総損益　　　　　　　　   -1,496,060,102  -1,351,650,090    -144,410,012
利益　　　　　　　　　    4,938,604,225   2,855,359,203   2,083,245,022
損益　　　　　　　　　   -6,434,664,327  -4,207,009,293  -2,227,655,034
プロフィットファクター            76.74           67.87           93.51
トレード回数　　　　　           94,319          61,449          32,870
勝率　　　　　　　　　            3.05%           2.07%           4.89%
勝ちトレード数　　　　            2,882           1,273           1,609
負けトレード数　　　　           91,437          60,176          31,261
最大利益額　　　　　　        1,098,073         742,699         511,902
最大損失額　　　　　　         -170,999        -146,053        -132,393
総手数料額　　　　　　      227,346,256     148,275,053      79,071,203
最大ドローダウン　　　         -170,463        -145,273        -131,985
</pre>
<h4>２．平均損益・利益・損失額集計</h4>
<p>各銘柄でバックテスト（算出）した平均損益額・平均利益額・平均損失額の平均値・最大値・最小値を算出。<br />
通常、各銘柄で算出した場合、平均損益額＝平均利益額＋平均損失額となりますが、全銘柄を集計した場合には数値の性質上イコールにはなりません。<br />
イメージをつかむために全銘柄の平均値・最大値・最小値を算出してみました。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
[ 全トレード ]
                 AVG  (         MAX          MIN  )
[P/L   ]       -5,979 (    3,371,947     -501,418 )
[PROFIT]      885,646 (   33,305,923            0 )
[LOST  ]      -73,931 (            0     -504,095 )

[ 買いトレード ]
                 AVG  (         MAX          MIN  )
[P/L   ]      -14,252 (    6,331,782     -501,418 )
[PROFIT]      679,973 (   33,305,923            0 )
[LOST  ]      -74,322 (            0     -548,842 )

[ 売りトレード ]
                 AVG  (         MAX          MIN  )
[P/L   ]       15,929 (    3,372,307     -501,418 )
[PROFIT]      465,450 (    9,121,281            0 )
[LOST  ]      -68,947 (            0     -583,962 )
</pre>
<h4>３．平均損益件数集計</h4>
<p>こちらも、イメージをつかむため、平均損益がプラスの銘柄・マイナスの銘柄の件数を集計。<br />
やはり、トータル的に観るとマイナスになる銘柄が多いようですが、今までのバックテストと比べるとプラスとなる銘柄も多くなっています。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
[TRADE]  [+ COUNT]  [- COUNT]
[ALL  ]        778      2,716
[LONG ]        544      2,834
[SHORT]        851      2,571
</pre>
<hr />
<p>今回の検証でも一部利益が出るものの全体的には損失が出る結果となりました。</p>
<p>また、バックテストと称していながら、手数料・リスク率・ストップロス・スリッページ・呼び値等を考慮していないものが多数あります。<br />
今回はこれらも考慮しているのでより実際に近いシミュレーションが出来ているのではないでしょうか。<br />
計算間違いしていなければの話ですが・・・<br />
※計算間違いが発覚すれば、その都度再検証してみるつもりです。</p>
<p>もちろん、実際は場合によってエントリ方法を調整する必要があることは言うまでもありませんが。。。<br />
特にエグジットの条件を変更する（利益のあるうちにエグジットするようにする）ともっと利益に繋がるでしょう。</p>
<p>Ruby 学習の延長で検証作業を行ってみましたが、こうして実際に実用的な何かを作成してみることで知識も深まっていきます。</p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4873113946&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4775971506&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=477599039X&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>以上。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mk-mode.com/wordpress/2012/05/10002031/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mk-mode.com/wordpress/2012/05/10002031/" />
	</item>
		<item>
		<title>株価 &#045; バックテスト（アンチ）！</title>
		<link>http://www.mk-mode.com/wordpress/2012/05/09002029/</link>
		<comments>http://www.mk-mode.com/wordpress/2012/05/09002029/#comments</comments>
		<pubDate>Tue, 08 May 2012 15:20:29 +0000</pubDate>
		<dc:creator>管理人@mk-modeBLOG</dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[株式]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.mk-mode.com/wordpress/?p=6932</guid>
		<description><![CDATA[こんばんは。 Ruby + MySQL で自作した株価取得のシステム。 全市場（東京・大阪・名古屋・札幌・福岡）の全銘柄の1983年からの全取引データを取得しています。 以前は、売買サイン発生後の株価の挙動を集計しました [...]]]></description>
			<content:encoded><![CDATA[<p>こんばんは。</p>
<p>Ruby + MySQL で自作した株価取得のシステム。<br />
全市場（東京・大阪・名古屋・札幌・福岡）の全銘柄の1983年からの全取引データを取得しています。</p>
<p>以前は、売買サイン発生後の株価の挙動を集計しました。</p>
<ul>
<li><a href="http://www.mk-mode.com/wordpress/2012/05/03002051/" target="_blank">株価 &#45; 売買サインチェック（アンチ）！</a></li>
</ul>
<p>今回は、「<span style="color: #ff6600;">アンチ</span>」での計算で発生した売買サインデータを基に、仮に取引をしていた場合にどのような結果（損益）になるのかを検証していました。<br />
（アンチについては上記の過去記事をご参照ください。）<br />
通常、このようなテストのことをバックテストと言います。</p>
<p>全体的にどんな傾向があるのかを把握するのと、Ruby (+ MySQL) の学習が目的です。<br />
<span style="color: #ff6600;">※興味が無ければスルーしてください。</span></p>
<p><span id="more-6932"></span><br />
以下に、前提条件・検証結果を掲載します。</p>
<h3>１．前提条件等</h3>
<h4>１．売買サインの定義</h4>
<ul>
<li>６日前から２日間連続で Slow%D(7:4:10) が上昇し、<br />
      さらに４日前から３日間連続で Slow%D(7:4:10) が上昇するとともに<br />
      Fast%D(7:4) が下降した場合、<br />
      前日の高値よりも上げた時、買いサイン</li>
<li>６日前から２日間連続で Slow%D(7:4:10) が下降し、<br />
      さらに４日前から３日間連続で Slow%D(7:4:10) が下降するとともに<br />
      Fast%D(7:4) が上昇した場合、<br />
      前日の安値よりも下げた時、売りサイン</li>
</ul>
<p>としました。<br />
Fast%K, Fast%D, Slow%D を計算する日数はアンチ手法では一般的（？）な 7, 4, 10 としています。<br />
また、調整後終値（株式分割があった場合の調整値）を考慮していません。</p>
<h4>２．検証銘柄と検証期間</h4>
<p>2012年4月20日現在上場している全市場の 3,583 銘柄を対象に、2000年1月1日から2011年12月31日の株価データを使用して検証しました。<br />
また、複数の市場に上場している銘柄については、優先市場のみで検証しました。<br />
※全取引件数は 7,898,726 件</p>
<h4>３．注文条件</h4>
<ul>
<li>資金は 5,000,000 円に設定</li>
<li>無ポジション中に買いサイン発生で、買いエントリ</li>
<li>買いポジション中にストップロス発生で、エグジット</li>
<li>買いポジション中に売りサイン発生で、エグジット</li>
<li>無ポジション中に売りサイン発生で、売りエントリ</li>
<li>売りポジション中にストップロス発生で、エグジット</li>
<li>売りポジション中に売りサイン発生で、エグジット</li>
<li>エントリ・エグジットは翌営業日の始値で行う</li>
<li>手数料は、SBI証券の手数料（スタンダードプラン）を使用する。</li>
<li>リスク率は 0.05 に設定</li>
<li>ストップロス率は 0.4 に設定</li>
<li>スリッページは 1 に設定</li>
<li>呼び値も考慮</li>
<li>エントリ時は、毎回資金残高中で投資可能な最高額を投資</li>
<li>エントリ時に資金残高が不足する場合はエントリしない。</li>
</ul>
<p>各種用語については、各自でお調べください。<br />
検証アルゴリズムは以下の書籍（エクセルでの検証）も参考にしています。</p>
<ul>
<li><a href="http://www.amazon.co.jp/gp/product/477599039X/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;tag=komasaru-22&#038;linkCode=as2&#038;camp=247&#038;creative=1211&#038;creativeASIN=477599039X" target="_blank">自動売買ロボット作成マニュアル~エクセルで理想のシステムトレード (現代の錬金術師シリーズ)</a></li>
</ul>
<h4>４．検証方法</h4>
<ol>
<li>各銘柄について、対象の期間内のデータで売買サインの発生を検証する。</li>
<li>各銘柄について、上記３の「注文条件」にしたがって、バックテストを行う。<br />
      算出項目：売買単位、手数料、損益、総損益、資金残高、最大ドローダウン</li>
<li>全銘柄のバックテスト結果を集計する。<br />
      検証項目：総損益、利益、損益、プロフィットファクター、トレード回数、<br />
      　　　　　勝率、勝ちトレード数、負けトレード数、最大利益額、最大損失額、<br />
      　　　　　総手数料額、最大ドローダウン、<br />
      　　　　　平均損益額、平均利益額、平均損失額</li>
</ol>
<h3>２．検証結果</h3>
<h4>１．バックテスト結果</h4>
<p>買い・売り両方のエントリを想定して検証しています。<br />
全銘柄のトータルなので、莫大な数値となっています。<br />
やはり、総損益もマイナスとなってしまいます。<br />
また、買いエントリだけ、売りエントリだけを想定して検証した結果は、金額に差が出るものの比率は同じような結果になりました。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
－－－－－－－－－－－ [ TRADE(ALL)   ][ TRADE(LONG)  ][ TRADE(SHORT) ]
総損益　　　　　　　　   -2,493,785,694  -1,962,692,526    -531,093,168
利益　　　　　　　　　   14,260,625,763   7,105,410,656   7,155,215,107
損益　　　　　　　　　  -16,754,411,457  -9,068,103,182  -7,686,308,275
プロフィットファクター            85.11           78.35           93.09
トレード回数　　　　　          314,724         158,272         156,452
勝率　　　　　　　　　            7.61%           6.67%           8.56%
勝ちトレード数　　　　           23,952          10,558          13,394
負けトレード数　　　　          290,772         147,714         143,058
最大利益額　　　　　　        1,357,351       1,094,770         873,653
最大損失額　　　　　　         -210,449        -184,624        -170,781
総手数料額　　　　　　      744,743,611     374,542,357     370,201,254
最大ドローダウン　　　         -217,175        -186,924        -176,163
</pre>
<h4>２．平均損益・利益・損失額集計</h4>
<p>各銘柄でバックテスト（算出）した平均損益額・平均利益額・平均損失額の平均値・最大値・最小値を算出。<br />
通常、各銘柄で算出した場合、平均損益額＝平均利益額＋平均損失額となりますが、全銘柄を集計した場合には数値の性質上イコールにはなりません。<br />
イメージをつかむために全銘柄の平均値・最大値・最小値を算出してみました。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
[ 全トレード ]
                 AVG  (         MAX          MIN  )
[P/L   ]       -5,245 (      982,921     -395,897 )
[PROFIT]      539,671 (    6,949,546            0 )
[LOST  ]      -60,162 (            0     -590,611 )

[ 買いトレード ]
                 AVG  (         MAX          MIN  )
[P/L   ]      -10,278 (    1,211,881     -301,026 )
[PROFIT]      585,622 (   23,756,990            0 )
[LOST  ]      -63,598 (            0     -572,241 )

[ 売りトレード ]
                 AVG  (         MAX          MIN  )
[P/L   ]          348 (    1,596,252     -736,734 )
[PROFIT]      456,552 (    5,870,661            0 )
[LOST  ]      -56,300 (            0   -1,189,348 )
</pre>
<h4>３．平均損益件数集計</h4>
<p>こちらも、イメージをつかむため、平均損益がプラスの銘柄・マイナスの銘柄の件数を集計。<br />
やはり、トータル的に観るとマイナスになる銘柄が多いようですが、今までのバックテストと比べるとプラスとなる銘柄も多くなっています。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
[TRADE]  [+ COUNT]  [- COUNT]
[ALL  ]        914      2,627
[LONG ]        794      2,738
[SHORT]      1,126      2,407
</pre>
<hr />
<p>今回の検証でも一部利益が出るものの全体的には損失が出る結果となりました。</p>
<p>また、バックテストと称していながら、手数料・リスク率・ストップロス・スリッページ・呼び値等を考慮していないものが多数あります。<br />
今回はこれらも考慮しているのでより実際に近いシミュレーションが出来ているのではないでしょうか。<br />
計算間違いしていなければの話ですが・・・<br />
※計算間違いが発覚すれば、その都度再検証してみるつもりです。</p>
<p>もちろん、実際は場合によってエントリ方法を調整する必要があることは言うまでもありませんが。。。<br />
特にエグジットの条件を変更する（利益のあるうちにエグジットするようにする）ともっと利益に繋がるでしょう。</p>
<p>Ruby 学習の延長で検証作業を行ってみましたが、こうして実際に実用的な何かを作成してみることで知識も深まっていきます。</p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4873113946&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4775971506&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=477599039X&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>以上。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mk-mode.com/wordpress/2012/05/09002029/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mk-mode.com/wordpress/2012/05/09002029/" />
	</item>
		<item>
		<title>株価 &#045; バックテスト（３本足の高値安値版）！</title>
		<link>http://www.mk-mode.com/wordpress/2012/05/08002044/</link>
		<comments>http://www.mk-mode.com/wordpress/2012/05/08002044/#comments</comments>
		<pubDate>Mon, 07 May 2012 15:20:44 +0000</pubDate>
		<dc:creator>管理人@mk-modeBLOG</dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[株式]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.mk-mode.com/wordpress/?p=6929</guid>
		<description><![CDATA[こんばんは。 Ruby + MySQL で自作した株価取得のシステム。 全市場（東京・大阪・名古屋・札幌・福岡）の全銘柄の1983年からの全取引データを取得しています。 以前は、売買サイン発生後の株価の挙動を集計しました [...]]]></description>
			<content:encoded><![CDATA[<p>こんばんは。</p>
<p>Ruby + MySQL で自作した株価取得のシステム。<br />
全市場（東京・大阪・名古屋・札幌・福岡）の全銘柄の1983年からの全取引データを取得しています。</p>
<p>以前は、売買サイン発生後の株価の挙動を集計しました。</p>
<ul>
<li><a href="http://www.mk-mode.com/wordpress/2012/05/02002016/" target="_blank">株価 &#45; 売買サインチェック（３本足の高値安値版）！</a></li>
</ul>
<p>今回は、「<span style="color: #ff6600;">３本足の高値安値</span>」での計算で発生した売買サインデータを基に、仮に取引をしていた場合にどのような結果（損益）になるのかを検証していました。<br />
（３本足の高値安値については上記の過去記事をご参照ください。）<br />
通常、このようなテストのことをバックテストと言います。</p>
<p>全体的にどんな傾向があるのかを把握するのと、Ruby (+ MySQL) の学習が目的です。<br />
<span style="color: #ff6600;">※興味が無ければスルーしてください。</span></p>
<p><span id="more-6929"></span><br />
以下に、前提条件・検証結果を掲載します。</p>
<h3>１．前提条件等</h3>
<h4>１．売買サインの定義</h4>
<ul>
<li>上昇トレンド ( RSI &gt; RSI_HI ) 時、<br />
      安値が３期間移動平均を下抜けたら、買いサイン
  </li>
<li>下降トレンド ( RSI &lt; RSI_LO ) 時、<br />
      高値が３期間移動平均を上抜けたら、売りサイン
  </li>
</ul>
<p>としました。<br />
今回は、RSI を計算する日数は 21 日、上昇トレンド・下降トレンド判断に使用する RSI_HI, RSI_LO はともに 50% としました。<br />
また、調整後終値（株式分割があった場合の調整値）を考慮していません。</p>
<h4>２．検証銘柄と検証期間</h4>
<p>2012年4月20日現在上場している全市場の 3,583 銘柄を対象に、2000年1月1日から2011年12月31日の株価データを使用して検証しました。<br />
また、複数の市場に上場している銘柄については、優先市場のみで検証しました。<br />
※全取引件数は  7,898,726 件</p>
<h4>３．注文条件</h4>
<ul>
<li>資金は 5,000,000 円に設定</li>
<li>無ポジション中に買いサイン発生で、買いエントリ</li>
<li>買いポジション中にストップロス発生で、エグジット</li>
<li>買いポジション中に売りサイン発生で、エグジット</li>
<li>無ポジション中に売りサイン発生で、売りエントリ</li>
<li>売りポジション中にストップロス発生で、エグジット</li>
<li>売りポジション中に売りサイン発生で、エグジット</li>
<li>エントリ・エグジットは翌営業日の始値で行う</li>
<li>手数料は、SBI証券の手数料（スタンダードプラン）を使用する。</li>
<li>リスク率は 0.05 に設定</li>
<li>ストップロス率は 0.4 に設定</li>
<li>スリッページは 1 に設定</li>
<li>呼び値も考慮</li>
<li>エントリ時は、毎回資金残高中で投資可能な最高額を投資</li>
<li>エントリ時に資金残高が不足する場合はエントリしない。</li>
</ul>
<p>各種用語については、各自でお調べください。<br />
検証アルゴリズムは以下の書籍（エクセルでの検証）も参考にしています。</p>
<ul>
<li><a href="http://www.amazon.co.jp/gp/product/477599039X/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;tag=komasaru-22&#038;linkCode=as2&#038;camp=247&#038;creative=1211&#038;creativeASIN=477599039X" target="_blank">自動売買ロボット作成マニュアル~エクセルで理想のシステムトレード (現代の錬金術師シリーズ)</a></li>
</ul>
<h4>４．検証方法</h4>
<ol>
<li>各銘柄について、対象の期間内のデータで売買サインの発生を検証する。</li>
<li>各銘柄について、上記３の「注文条件」にしたがって、バックテストを行う。<br />
      算出項目：売買単位、手数料、損益、総損益、資金残高、最大ドローダウン</li>
<li>全銘柄のバックテスト結果を集計する。<br />
      検証項目：総損益、利益、損益、プロフィットファクター、トレード回数、<br />
      　　　　　勝率、勝ちトレード数、負けトレード数、最大利益額、最大損失額、<br />
      　　　　　総手数料額、最大ドローダウン、<br />
      　　　　　平均損益額、平均利益額、平均損失額</li>
</ol>
<h3>２．検証結果</h3>
<h4>１．バックテスト結果</h4>
<p>買い・売り両方のエントリを想定して検証しています。<br />
全銘柄のトータルなので、莫大な数値となっています。<br />
やはり、総損益もマイナスとなってしまいます。<br />
また、買いエントリだけ、売りエントリだけを想定して検証した結果は、金額に差が出るものの比率は同じような結果になりました。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
－－－－－－－－－－－ [ TRADE(ALL)   ][ TRADE(LONG)  ][ TRADE(SHORT) ]
総損益　　　　　　　　   -3,179,541,676  -2,949,517,531    -230,024,145
利益　　　　　　　　　   29,296,314,906  14,007,139,398  15,289,175,508
損益　　　　　　　　　  -32,475,856,582 -16,956,656,929 -15,519,199,653
プロフィットファクター             90.2            82.6           98.51
トレード回数　　　　　          683,157         335,733         347,424
勝率　　　　　　　　　            7.42%           6.48%           8.33%
勝ちトレード数　　　　           50,731          21,771          28,960
負けトレード数　　　　          632,426         313,962         318,464
最大利益額　　　　　　        2,017,378       1,737,049       1,337,214
最大損失額　　　　　　         -270,538        -231,638        -227,071
総手数料額　　　　　　    1,482,276,957     728,957,608     753,319,349
最大ドローダウン　　　         -282,305        -236,366        -236,165
</pre>
<h4>２．平均損益・利益・損失額集計</h4>
<p>各銘柄でバックテスト（算出）した平均損益額・平均利益額・平均損失額の平均値・最大値・最小値を算出。<br />
通常、各銘柄で算出した場合、平均損益額＝平均利益額＋平均損失額となりますが、全銘柄を集計した場合には数値の性質上イコールにはなりません。<br />
イメージをつかむために全銘柄の平均値・最大値・最小値を算出してみました。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
[ 全トレード ]
                 AVG  (         MAX          MIN  )
[P/L   ]       -1,231 (    1,298,982     -191,668 )
[PROFIT]      558,902 (   15,379,998            0 )
[LOST  ]      -57,536 (            0     -863,113 )

[ 買いトレード ]
                 AVG  (         MAX          MIN  )
[P/L   ]       -5,147 (    1,801,782     -294,792 )
[PROFIT]      651,290 (   38,209,609            0 )
[LOST  ]      -60,354 (            0     -871,072 )

[ 売りトレード ]
                 AVG  (         MAX          MIN  )
[P/L   ]        3,393 (    1,298,982     -231,069 )
[PROFIT]      497,413 (    8,411,964            0 )
[LOST  ]      -54,758 (            0     -854,735 )
</pre>
<h4>３．平均損益件数集計</h4>
<p>こちらも、イメージをつかむため、平均損益がプラスの銘柄・マイナスの銘柄の件数を集計。<br />
やはり、トータル的に観るとマイナスになる銘柄が多いようですが、今までのバックテストと比べるとプラスとなる銘柄も多くなっています。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
[TRADE]  [+ COUNT]  [- COUNT]
[ALL  ]        841      2,707
[LONG ]        754      2,784
[SHORT]      1,144      2,399
</pre>
<hr />
<p>今回の検証でも一部利益が出るものの全体的には損失が出る結果となりました。</p>
<p>また、バックテストと称していながら、手数料・リスク率・ストップロス・スリッページ・呼び値等を考慮していないものが多数あります。<br />
今回はこれらも考慮しているのでより実際に近いシミュレーションが出来ているのではないでしょうか。<br />
計算間違いしていなければの話ですが・・・<br />
※計算間違いが発覚すれば、その都度再検証してみるつもりです。</p>
<p>もちろん、実際は場合によってエントリ方法を調整する必要があることは言うまでもありませんが。。。<br />
特にエグジットの条件を変更する（利益のあるうちにエグジットするようにする）ともっと利益に繋がるでしょう。</p>
<p>Ruby 学習の延長で検証作業を行ってみましたが、こうして実際に実用的な何かを作成してみることで知識も深まっていきます。</p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4873113946&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4775971506&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=477599039X&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>以上。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mk-mode.com/wordpress/2012/05/08002044/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mk-mode.com/wordpress/2012/05/08002044/" />
	</item>
		<item>
		<title>Ruby &#045; RubyGems で SSL 証明書チェック！</title>
		<link>http://www.mk-mode.com/wordpress/2012/05/06002043/</link>
		<comments>http://www.mk-mode.com/wordpress/2012/05/06002043/#comments</comments>
		<pubDate>Sat, 05 May 2012 15:20:43 +0000</pubDate>
		<dc:creator>管理人@mk-modeBLOG</dc:creator>
				<category><![CDATA[サーバ構築]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.mk-mode.com/wordpress/?p=6920</guid>
		<description><![CDATA[こんばんは。 Ruby が2012年4月20日に 1.9.3-p194 にアップデートされ、パッケージ管理の RubyGems も 1.8.23 にアップデートされました。 Ruby 1.9.3-p194 リリース 当方 [...]]]></description>
			<content:encoded><![CDATA[<p>こんばんは。</p>
<p>Ruby が2012年4月20日に 1.9.3-p194 にアップデートされ、パッケージ管理の RubyGems も 1.8.23 にアップデートされました。</p>
<ul>
<li><a href="http://www.ruby-lang.org/ja/news/2012/04/20/ruby-1-9-3-p194-is-released/" target="_blank">Ruby 1.9.3-p194 リリース</a></li>
</ul>
<p>当方の自作自宅サーバ(当記事執筆時点、CentOS6.2)も Ruby_1.9.3-p194, RubyGems_1.8.23 にしています。（ちなみに、Rails は 3.2.3）</p>
<p>その RubyGems ですが、今回の 1.8.23 では SSLサーバ検証の修正がされているようです。</p>
<p><span id="more-6920"></span><br />
Ruby や Rails で RubyGems パッケージをインストール（アップデート）したりする場合（ &#8220;gem install (update)&#8221; や &#8220;bundle install (update)&#8221; ）に、今までどおりではエラーが発生するようになります。<br />
Ruby on Rails で今までどおり &#8220;bundle install&#8221; した場合↓</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# bundle install
Fetching gem metadata from https://rubygems.org/.........
Using rake (0.9.2.2)
Using i18n (0.6.0) 

Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3
read server certificate B: certificate verify failed
(https://bb-m.rubygems.org/gems/multi_json-1.2.0.gem)
An error occured while installing multi_json (1.2.0), and Bundler cannot continue.
Make sure that `gem install multi_json -v '1.2.0'` succeeds before bundling.
</pre>
<p>以下、対応方法です。</p>
<h3>対応方法</h3>
<p><a href="http://www.ruby-lang.org/ja/news/2012/04/20/ruby-1-9-3-p194-is-released/" target="_blank">Ruby 1.9.3-p194 リリース</a> にも説明がありますが、SSL証明書のチェックを行わない方法とSSL証明書のチェックを行う方法があります。</p>
<h4>0. 動作確認環境</h4>
<p>今回は、CentOS 6.2 (i386) と Scientific Linux 6.2 (x86_64) （どちらも SSL サーバ証明書の設定有り）で確認しました。</p>
<h4>1. SSL 証明書のチェックを行わない場合</h4>
<p>SSL サーバ証明を使用していなかったり、使用していてもチェックを行わない場合。<br />
ユーザルートの &#8220;.gemrc&#8221; または &#8220;/etc/gemrc&#8221; ファイルに以下のように記述する。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# vi ~/.gemrc
:ssl_verify_mode: 0
</pre>
<h4>2. SSL 証明書のチェックを行う場合</h4>
<p>SSL サーバ証明書を使用していて、チェックを行う場合。<br />
ユーザルートの &#8220;.gemrc&#8221; または &#8220;/etc/gemrc&#8221; ファイルに以下のように記述する。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
# vi ~/.gemrc
:ssl_verify_mode: 1
:ssl_ca_cert: /etc/pki/tls/certs/server.crt
</pre>
<p>&#8220;/etc/pki/tls/certs/server.crt&#8221; はサーバー用証明書ファイルで、フルパスで指定する。</p>
<h4>その他</h4>
<p>ちなみに Cygwin 環境ではこのような対応は不要でした。<br />
Windows ネイティブ側の Ruby は最近触っていないので、今回の対応も未確認です。</p>
<hr />
<p>これで、SSL 接続エラーは発生しなくなりました。</p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4873113946&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4774146633&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4274068668&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>以上。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mk-mode.com/wordpress/2012/05/06002043/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mk-mode.com/wordpress/2012/05/06002043/" />
	</item>
		<item>
		<title>株価 &#045; 売買サインチェック（ADXギャッパー）！</title>
		<link>http://www.mk-mode.com/wordpress/2012/05/04002034/</link>
		<comments>http://www.mk-mode.com/wordpress/2012/05/04002034/#comments</comments>
		<pubDate>Thu, 03 May 2012 15:20:34 +0000</pubDate>
		<dc:creator>管理人@mk-modeBLOG</dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[株式]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.mk-mode.com/wordpress/?p=6910</guid>
		<description><![CDATA[こんばんは。 Ruby + MySQL で自作した株価取得のシステム。 全市場（東京・大阪・名古屋・札幌・福岡）の全銘柄の1983年からの全取引データを取得しています。 前回は「アンチ」という手法で売買サインの発生状況を [...]]]></description>
			<content:encoded><![CDATA[<p>こんばんは。</p>
<p>Ruby + MySQL で自作した株価取得のシステム。<br />
全市場（東京・大阪・名古屋・札幌・福岡）の全銘柄の1983年からの全取引データを取得しています。</p>
<p>前回は「アンチ」という手法で売買サインの発生状況を検証してみましたが、今回は「ADXギャッパー」という手法で検証してみました。</p>
<p><span style="color: #ff6600;">※個人的な記録ですので、興味が無ければ読み飛ばしてください。</span><br />
<span style="color: #ff6600;">※全体的にどんな傾向があるのかを把握するのと、Ruby の学習が目的です。</span><br />
<span style="color: #ff6600;">※検証結果を取り纏めたものなので、掲載している結果自体ではあまり有効性は感じません。</span><br />
<span style="color: #ff6600;">※ただ、個別に調べてみるとおもしろいものとなります。</span></p>
<p><span id="more-6910"></span><br />
「ADXギャッパー」という手法は、</p>
<ul>
<li>前日の安値よりも安く寄り付き、その安値まで上げた時点で買い。</li>
<li>前日の高値よりも高く寄り付き、その高値まで下げた時点で売り。</li>
</ul>
<p>という「ウップスのルール」に ADX をフィルターとして重ねる。すなわち、</p>
<ul>
<li>前日の引け時点で、<br />
      12日で計算した ADX が 30 以上、<br />
      28日で計算した +DI が -DI よりも大きく、<br />
      前日安値よりも当日寄付きが低く、<br />
      当日高値が前日安値より大きい時、買い。</li>
<li>前日の引け時点で、<br />
      12日で計算した ADX が 30 以上、<br />
      28日で計算した -DI が +DI よりも大きく、<br />
      前日高値よりも当日寄付きが高く、<br />
      当日安値が前日高値より小さい時、売り。</li>
</ul>
<p>という手法です。<br />
DI, ADX については、過去記事「<a href="http://www.mk-mode.com/wordpress/2012/03/03002038/" target="_blank">株価 &#45; 売買サインチェック（DMI/ADX版）その１！</a>」を参照のこと。</p>
<p>以下に、前提条件・検証結果を掲載します。</p>
<h3>１．前提条件</h3>
<p>以降に出てくる Long は買いサイン、Short は売りサインを表しています。</p>
<h4>１．定義</h4>
<p>何を以って、買いサイン・売りサインと見なすかですが、本来の手法通りとしました。<br />
DI, ADX を計算する日数はアンチ手法では一般的（？）な 28, 12 としています。<br />
また、調整後終値（株式分割があった場合の調整値）を考慮していません。</p>
<h4>２．検証銘柄と検証期間</h4>
<p>2012年4月13日現在上場している全市場の3,582銘柄を対象に、2000年1月1日から2011年12月31日の株価データを使用して検証しました。<br />
また、複数の市場に上場している銘柄については、優先市場のみで検証しました。<br />
※全取引件数は 7,898,726 件</p>
<h3>２．検証結果</h3>
<h4>１．サインが発生した件数</h4>
<pre class="brush: plain; gutter: false; title: ; notranslate">
[ Long  ]    99,889
[ Short ]    50,220
</pre>
<h4>２．各サイン発生○日後に上昇・変動なし・下降した件数</h4>
<pre class="brush: plain; gutter: false; title: ; notranslate">
[SIGN][DAYS]  [UP   ] (     %) [EVEN ] (     %) [DOWN ] (     %)
Long  (  1 )   68,398 (68.49%)   4,787 ( 4.79%)  26,682 (26.72%)
Long  (  2 )   63,868 (63.98%)   3,488 ( 3.49%)  32,473 (32.53%)
Long  (  3 )   62,146 (62.27%)   2,954 ( 2.96%)  34,697 (34.77%)
Long  (  4 )   60,191 (60.35%)   2,701 ( 2.71%)  36,848 (36.94%)
Long  (  5 )   59,306 (59.47%)   2,404 ( 2.41%)  38,015 (38.12%)
Long  (  6 )   58,619 (58.79%)   2,218 ( 2.22%)  38,869 (38.98%)
Long  (  7 )   58,271 (58.45%)   2,167 ( 2.17%)  39,261 (39.38%)
Long  (  8 )   57,721 (57.91%)   1,878 ( 1.88%)  40,077 (40.21%)
Long  (  9 )   57,165 (57.37%)   1,848 ( 1.85%)  40,632 (40.78%)
Long  ( 10 )   56,314 (56.53%)   1,768 ( 1.77%)  41,539 (41.70%)
Long  ( 11 )   55,622 (55.85%)   1,654 ( 1.66%)  42,315 (42.49%)
Long  ( 12 )   55,265 (55.50%)   1,577 ( 1.58%)  42,733 (42.92%)
Long  ( 13 )   54,644 (54.90%)   1,506 ( 1.51%)  43,391 (43.59%)
Long  ( 14 )   54,247 (54.50%)   1,450 ( 1.46%)  43,834 (44.04%)
Long  ( 15 )   53,867 (54.14%)   1,382 ( 1.39%)  44,238 (44.47%)
Long  ( 16 )   53,488 (53.77%)   1,323 ( 1.33%)  44,667 (44.90%)
Long  ( 17 )   53,256 (53.54%)   1,348 ( 1.36%)  44,865 (45.10%)
Long  ( 18 )   53,023 (53.31%)   1,299 ( 1.31%)  45,139 (45.38%)
Long  ( 19 )   52,639 (52.93%)   1,242 ( 1.25%)  45,574 (45.82%)
Long  ( 20 )   51,988 (52.28%)   1,236 ( 1.24%)  46,217 (46.48%)
Long  ( 21 )   51,927 (52.22%)   1,186 ( 1.19%)  46,319 (46.58%)
Long  ( 22 )   51,550 (51.85%)   1,142 ( 1.15%)  46,733 (47.00%)
Long  ( 23 )   51,571 (51.87%)   1,199 ( 1.21%)  46,654 (46.92%)
Long  ( 24 )   51,583 (51.89%)   1,117 ( 1.12%)  46,705 (46.98%)
Long  ( 25 )   51,328 (51.65%)   1,105 ( 1.11%)  46,952 (47.24%)
Long  ( 26 )   51,271 (51.60%)   1,113 ( 1.12%)  46,986 (47.28%)
Long  ( 27 )   51,289 (51.64%)   1,095 ( 1.10%)  46,933 (47.26%)
Long  ( 28 )   50,884 (51.24%)   1,089 ( 1.10%)  47,328 (47.66%)
Long  ( 29 )   50,789 (51.15%)   1,034 ( 1.04%)  47,467 (47.81%)
Long  ( 30 )   50,535 (50.92%)   1,002 ( 1.01%)  47,707 (48.07%)
Long  ( 31 )   50,144 (50.53%)   1,030 ( 1.04%)  48,054 (48.43%)
Long  ( 32 )   50,322 (50.72%)     963 ( 0.97%)  47,928 (48.31%)
Long  ( 33 )   50,137 (50.54%)     972 ( 0.98%)  48,098 (48.48%)
Long  ( 34 )   50,346 (50.76%)     971 ( 0.98%)  47,874 (48.26%)
Long  ( 35 )   50,257 (50.69%)     916 ( 0.92%)  47,974 (48.39%)
Long  ( 36 )   50,234 (50.68%)     928 ( 0.94%)  47,965 (48.39%)
Long  ( 37 )   50,169 (50.62%)     914 ( 0.92%)  48,027 (48.46%)
Long  ( 38 )   49,911 (50.37%)     951 ( 0.96%)  48,236 (48.68%)
Long  ( 39 )   49,840 (50.30%)     932 ( 0.94%)  48,319 (48.76%)
Long  ( 40 )   49,774 (50.25%)     861 ( 0.87%)  48,421 (48.88%)
Short (  1 )   12,862 (25.61%)   2,581 ( 5.14%)  34,770 (69.25%)
Short (  2 )   15,712 (31.29%)   1,917 ( 3.82%)  32,578 (64.89%)
Short (  3 )   17,020 (33.90%)   1,524 ( 3.04%)  31,659 (63.06%)
Short (  4 )   17,825 (35.51%)   1,297 ( 2.58%)  31,077 (61.91%)
Short (  5 )   18,392 (36.65%)   1,224 ( 2.44%)  30,573 (60.92%)
Short (  6 )   18,843 (37.56%)   1,127 ( 2.25%)  30,204 (60.20%)
Short (  7 )   19,048 (37.98%)   1,047 ( 2.09%)  30,052 (59.93%)
Short (  8 )   19,370 (38.63%)     995 ( 1.98%)  29,772 (59.38%)
Short (  9 )   19,443 (38.79%)     915 ( 1.83%)  29,769 (59.39%)
Short ( 10 )   19,756 (39.42%)     896 ( 1.79%)  29,462 (58.79%)
Short ( 11 )   19,870 (39.65%)     886 ( 1.77%)  29,353 (58.58%)
Short ( 12 )   19,862 (39.65%)     827 ( 1.65%)  29,409 (58.70%)
Short ( 13 )   20,070 (40.07%)     794 ( 1.59%)  29,223 (58.34%)
Short ( 14 )   20,154 (40.27%)     822 ( 1.64%)  29,077 (58.09%)
Short ( 15 )   20,097 (40.17%)     716 ( 1.43%)  29,222 (58.40%)
Short ( 16 )   20,117 (40.22%)     657 ( 1.31%)  29,240 (58.46%)
Short ( 17 )   20,213 (40.43%)     635 ( 1.27%)  29,151 (58.30%)
Short ( 18 )   20,104 (40.26%)     644 ( 1.29%)  29,193 (58.45%)
Short ( 19 )   20,277 (40.64%)     618 ( 1.24%)  28,999 (58.12%)
Short ( 20 )   20,288 (40.68%)     645 ( 1.29%)  28,941 (58.03%)
Short ( 21 )   20,218 (40.62%)     605 ( 1.22%)  28,948 (58.16%)
Short ( 22 )   20,125 (40.46%)     599 ( 1.20%)  29,012 (58.33%)
Short ( 23 )   20,095 (40.44%)     591 ( 1.19%)  29,003 (58.37%)
Short ( 24 )   20,098 (40.48%)     565 ( 1.14%)  28,981 (58.38%)
Short ( 25 )   20,044 (40.40%)     546 ( 1.10%)  29,027 (58.50%)
Short ( 26 )   20,047 (40.41%)     527 ( 1.06%)  29,033 (58.53%)
Short ( 27 )   19,960 (40.24%)     518 ( 1.04%)  29,121 (58.71%)
Short ( 28 )   19,912 (40.15%)     523 ( 1.05%)  29,154 (58.79%)
Short ( 29 )   19,934 (40.21%)     550 ( 1.11%)  29,095 (58.68%)
Short ( 30 )   19,942 (40.23%)     463 ( 0.93%)  29,170 (58.84%)
Short ( 31 )   19,811 (39.97%)     499 ( 1.01%)  29,258 (59.03%)
Short ( 32 )   19,823 (40.00%)     503 ( 1.01%)  29,233 (58.99%)
Short ( 33 )   19,839 (40.05%)     502 ( 1.01%)  29,194 (58.94%)
Short ( 34 )   19,698 (39.78%)     461 ( 0.93%)  29,364 (59.29%)
Short ( 35 )   19,768 (39.92%)     425 ( 0.86%)  29,323 (59.22%)
Short ( 36 )   19,662 (39.71%)     432 ( 0.87%)  29,415 (59.41%)
Short ( 37 )   19,691 (39.78%)     480 ( 0.97%)  29,327 (59.25%)
Short ( 38 )   19,707 (39.83%)     496 ( 1.00%)  29,279 (59.17%)
Short ( 39 )   19,783 (39.99%)     462 ( 0.93%)  29,222 (59.07%)
Short ( 40 )   19,890 (40.22%)     432 ( 0.87%)  29,134 (58.91%)
</pre>
<p>今までの検証とは異なり、売買サイン発生直後が上昇・下降する割合が高いです。</p>
<h4>３．何日後に最も上昇（買い）/下降（売り）したか</h4>
<p>買いサイン発生後、何日後に最も上昇したか、<br />
売りサイン発生後、何日後に最も下降したか、を検証。</p>
<pre class="brush: plain; gutter: false; title: ; notranslate">
[DAYS]  [Long ]  [Short]
[  1 ]   10,766    4,407
[  2 ]    6,363    2,587
[  3 ]    5,004    1,991
[  4 ]    4,229    1,836
[  5 ]    3,856    1,678
[  6 ]    3,374    1,484
[  7 ]    3,310    1,391
[  8 ]    2,987    1,226
[  9 ]    2,731    1,260
[ 10 ]    2,546    1,175
[ 11 ]    2,601    1,124
[ 12 ]    2,446    1,110
[ 13 ]    2,265    1,140
[ 14 ]    2,198    1,058
[ 15 ]    2,059    1,147
[ 16 ]    2,018    1,109
[ 17 ]    2,033    1,007
[ 18 ]    1,878    1,080
[ 19 ]    1,950      997
[ 20 ]    1,760    1,007
[ 21 ]    1,815    1,062
[ 22 ]    1,726    1,059
[ 23 ]    1,805    1,086
[ 24 ]    1,727    1,110
[ 25 ]    1,746    1,101
[ 26 ]    1,784    1,091
[ 27 ]    1,702    1,159
[ 28 ]    1,857    1,090
[ 29 ]    1,791    1,265
[ 30 ]    1,801    1,186
[ 31 ]    2,017    1,209
[ 32 ]    2,048    1,290
[ 33 ]    2,097    1,386
[ 34 ]    2,417    1,435
[ 35 ]    2,507    1,399
[ 36 ]    2,748    1,523
[ 37 ]    2,989    1,715
[ 38 ]    3,451    2,027
[ 39 ]    4,286    2,590
[ 40 ]    7,400    4,450
</pre>
<p>買い（売り）サインが発生した翌日と40日後に大きく上昇（下降）している。</p>
<h4>４．買いサイン発生から売りサイン発生までの間隔と差が ＋ か ０ か － を集計</h4>
<pre class="brush: plain; gutter: false; title: ; notranslate">
[DAYS]     [+]     [0]     [-]
[  1 ]      97       0       0
[  2 ]      41       4      18
[  3 ]      27       0      52
[  4 ]      16       2      41
[  5 ]       8       1      53
[  6 ]      10       0      54
[  7 ]       8       0      45
[  8 ]       3       0      40
[  9 ]       3       0      23
[ 10 ]       1       0      32
   :        :       :       :
[ 81 ]      16       2      72
[ 82 ]       5       0      73
[ 83 ]       4       0      73
[ 84 ]       6       0      79
[ 85 ]      10       0      59
[ 86 ]       3       0      73
[ 87 ]       6       0      77
[ 88 ]       7       0      64
[ 89 ]       7       0      72
[ 90 ]       8       0      75
   :        :       :       :
</pre>
<p>買いサイン発生直後は上昇する割合が高いが、その後は全体的に下降する割合の方が高くなるという結果となった。</p>
<hr />
<p>今回は全銘柄を集計したものであるが、個別の銘柄について見てみると銘柄により異なる結果となるのでおもしろいです。<br />
Ruby 学習の延長で検証作業を行ってみましたが、こうして実際に実用的な何かを作成してみることで知識も深まっていきます。</p>
<p><iframe style="width: 120px; height: 240px;" src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4873113946&amp;ref=qf_sp_asin_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="320" height="240"></iframe><iframe style="width: 120px; height: 240px;" src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=4775971506&amp;ref=qf_sp_asin_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="320" height="240"></iframe><iframe style="width: 120px; height: 240px;" src="http://rcm-jp.amazon.co.jp/e/cm?t=komasaru-22&amp;o=9&amp;p=8&amp;l=as1&amp;asins=477599039X&amp;ref=qf_sp_asin_til&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;m=amazon&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="320" height="240"></iframe></p>
<p>以上。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mk-mode.com/wordpress/2012/05/04002034/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mk-mode.com/wordpress/2012/05/04002034/" />
	</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.mk-mode.com/wordpress/feed/ ) in 3.15271 seconds, on May 20th, 2012 at 6:19 am JST. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 20th, 2012 at 7:19 am JST -->
<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- Quick Cache Is Fully Functional :-) ... A Quick Cache file was just served for (  www.mk-mode.com/wordpress/feed/ ) in 0.00071 seconds, on May 20th, 2012 at 7:05 am JST. -->
