プロが教える店舗&オフィスのセキュリティ対策術

株価を予測して購入する銘柄を決めるようなシステムはどんなプログラミング言語がいいのでしょうか?

(1)インターネット(Yahoo!やinfoseek)から株価データを取得できること
(2)株価などの計算が出来ること
(3)できたら過去のデータを保持できること(DB or txt)
(4)開発環境が無料で構築できること

この条件にあてはまるような言語があったら教えて下さい。
ネット上ではエクセルやPerlなどが紹介されていますが、様々なご意見をお待ちしております。

A 回答 (3件)

開発環境がWinということで、再度投稿です。



(4)開発環境が無料で構築できること
を前提にDB、言語を選択していくと・・・

(3)できたら過去のデータを保持できること(DB or txt)
まず、DBですが、MySQLとPostgreSQLが候補としてあげられます。
ですが、PostgreSQLは、Win環境ではCygwinというものを介してしか使用できず、Win版は有償です。ですので、Win版も無償のMySQLがよいでしょう。
また、C言語からもMySQLを操作できるようです(C MySQL APIとかでググるといろいろ出てきます)。
また、MySQLとAccessを連携させることも可能です。

(2)株価などの計算が出来ること
これには、Perlがいいと思います。書籍も充実していますし、データ処理が非常にラクです。
ただ、Perlだと、コンソールに表示するだけとか、テキストに吐き出すだけとかの処理しかできないです。GUI(グラフィカルユーザーインターフェイス)環境での開発をするなら、VisualStadio買って、VBや、VC++を使うか、Delphiを使うかになりますが、基本的に有料です。Delphiなどは無料版もありますが、GUI開発を行いたいのなら、その部分だけVBAで組むのがベストです。

(1)インターネット(Yahoo!やinfoseek)から株価データを取得できること
このデータ取得部分については、私の経験上、速度の観点からC言語orJAVAがベストかと思います。

以上まとめとして、
C言語(orJAVA)でWebからデータ取得・データベース保存⇒Perlでデータ加工⇒AccessVBAでGUI表示、がWin版のベストな流れかと思います。

他、Apacheサーバーを立てて、PHPでブラウザベースで表示・・というのもありますが、手間がかかりますから、表示部分にはAccessVBAを使用したほうがいいかと思います。

以上、ご健闘をお祈りしております。
    • good
    • 1
この回答へのお礼

何度もありがとうございます。
とりあえず、Apacheサーバ、Mysql、PHPの入門本で勉強することにしました。
第一段階の目標はPHPで株価を取得し、Mysqlのデータベースに格納することです。
それができたらデータ解析、予測等をしようと思います。

お礼日時:2006/06/07 15:28

はじめまして。


基幹系SEをしている者です。

私はAccessのVBAで、Yahooの株価・企業情報などを取得するプログラムを組んだことがあります。結果・・、全銘柄、半年間のデータを取得するのに、丸2日かかるなど、非常に遅いです。これは私のプログラミングスキルが低いせいかもしれませんが・・。

いずれにしても、VB(VBA)は遅いのでおすすめはできません。
私は質問者様と同じように、将来的に(といっても向こう10年くらいの間に)、同じように株価予測プログラム(もしくは、推奨銘柄取得プログラム)をつくりたい、と思っています。

で、株価予測についてですが、これは"株価はブラウン運動をする"ことが確認されていますので、正確な予測はできません。つまりは、明日は+100円になる確率がXX%とか、確率解釈しかできない、ということです。まぁ、当たり前といえば当たり前でしょうけど。。

ですので、作るとしては、"パターン認識プログラム"がいいと私は思っています。"三角持合上離れ"とか、"ボックスブレイク"とか、高確率で翌日も読みが当たるパターンを銘柄の中から探させる、というのがベストかと。

で、肝心の環境及び言語ですが、あくまでも私なら、ということで、いわゆるLAMP(Linux,Apache,MySQL,Perl)をオススメします。これなら、(4)開発環境が無料で構築できること、は満たせますね。

OSがLinuxなのは、常時稼動時の安定性確保のためです。Windowsでは、先に書いた私の株価取得プログラムはCPUを100%食い続けOSはフリーズ直前状態になります。ほとんどウイルスです(笑 なので、安定性の高いLinux、または*BSD系をオススメします。

そして、質問者様がどの程度のことをお望みなのかわかりませんが、仮にWeb上に公開する、もしくは、ブラウザベースで使用するというのであればApacheは必須です。

その際、ブラウザに表示させる言語としては、PHPを使用することがベストでしょう。単に推奨銘柄一覧と、Yahooファイナンスへのリンクを張る程度なら、PHPで十分です。ただ、チャートまで自作したいとなると、PHPでチャートのようなものをどこまで書けるかはわかりませんが。。

(3)できたら過去のデータを保持できること(DB or txt)
データベースとしてはMySQLがいちばん手軽に扱えます。それに、PHPやPerlからも利用が簡単です。

(1)インターネット(Yahoo!やinfoseek)から株価データを取得できること
そして、カンジンな株価取得には高速なC(C++)がいいでしょう。WEBプログラミングの書籍も充実してますし。ただ、CでMySQLにデータを書き込むことはしたことがないので、できるのかわかりません(ですが、一般的に考えて、それくらいのことはできるはずです)。または、データベースとの連携を重視するならWebプログラミングもできるJAVAがオススメです。

(2)株価などの計算が出来ること
これには、Perlを使用するというのも手です。Perlはデータベースとの連携をとるためにDBIというものが用意されていて、データベースとの親和性は高いです。とくにMySQL+Perlの書籍はたくさん出ているでしょう。さらに、Perlはテキスト処理や数値処理が得意ですので株価処理なんかはけっこう簡単に書けると思います。
ただ、PerlでWebプログラミングまでしたい、となるとどこまでできるのか、わかりません(が、できなくはないと思います)。

以上を踏まえて、
仮に実行するなら、C言語(or C++ or JAVA)でデータ取得⇒Perlでデータ加工・データベース反映⇒PHPで表示、がベストと考えます。もしも、言語スキル取得に負担がかかりすぎる、というなら、すべてをPerlで行ってもよいかと思います。PHPの代役としてPerlを使うのはアリです。

言語について補足。
(以下あくまで私の経験上の主観です)
入門しやすさ
Perl > PHP > C > JAVA > C++
データベース親和性
Perl,PHP > JAVA > C , C++
Webプログラミングしやすさ
PHP,JAVA > Perl > C , C++

PerlやCは基幹系として内部でデータ処理を、PHPやJAVAは表示系を担当するのが一般的だと思います。

Windowsでも上記の言語はフリーで使えます。
ただ、Windowsで開発する場合も、VBとVC++はやめたほうがいいと思います。有料ですし、株価予想プログラムを組めるほどの能力があるなら、VBやVC++などのWindows依存のプログラマーになる必要はないです。

以上、ついアツくなってつらつらと書いてしまいましたが、参考になれば、と思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ちなみに開発はWindowsで行います。
私はPerlの経験はないのですが、ちょっと調べてみようと思います。

お礼日時:2006/06/02 20:06

直接の回答とは異なりますが、



 オメガチャートという優れものの株価チャートプログラムがあります。JAVAで作られており、ソースも公開されています。通常の株価スクリーニングならば、オメガチャート内のスクリプトを追加修整すれば自分なりのスクリーニングが出来ます(JAVAで書く必要もありません)。
 私も、自分で作ろうかとも思いましたが、オメガチャートを見て、利用させていただく事にしました(もちろん感謝の意味で寄付しましたが)

参考URL:http://www.omegachart.org/
    • good
    • 1
この回答へのお礼

このようなチャートがあるとは知りませんでした。
教えていただいてありがとうございます。
予測なども取り入れてみたいので検討材料の1つにしようと思います。

お礼日時:2006/06/02 15:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!