楽天RSSからDDEで直接データ取得してcsv出力

このQ&Aのポイント
  • 楽天RSSを使用して株価のリアルタイムデータを取得し、CSV形式で出力する方法を探しています。
  • VBAを使用する方法もありますが、Cygwinを使ってシェルスクリプトやC言語で同じことを実現したいです。
  • 楽天のRSSと一般的なブログのRSSは名前こそ違いますが、更新をチェックするという点では同様のものです。
回答を見る
  • ベストアンサー

楽天RSSからDDEで直接データ取得してcsv出力

楽天RSSというものを用いて株価のリアルタイムデータを受信することができます。 リアルタイムデータを表示させたいセルに Excel であれば =RSS|'4776.T'!現在値 LibreOffice Calc であれば =DDE("RSS","4776.T","現在値") などと入力しておけば リアルタイムで最新の値が更新されて表示してくれます。 しかし、表計算ソフトを経由するのはシステムに余計な負荷をかけると思いますので、 低負荷な言語を用いて DDEから直接データを取得して リアルタイムデータを次々にcsvに出力していきたいです。 http://okwave.jp/qa/q2795438.html にVBAを使用する方法が書かれているのですが VisualBasicの系統は使ったことがありませんので、 なるべくならCygwinを用いて シェルスクリプトやC言語により同じことを実現したいです。 (UNIX系のやり方が無理であればVBAを憶えることにしますけども) どのようにしたらできるでしょうか? とっかかりの部分を教えていただきたいです。 また、楽天のRSS(RealtimeSpreadSheet)がブログ関連でよく出てくるRSSとは 元々の名前からすると違うような感じですが 更新をチェックしているという点から見れば同一かもしれないという気もしまして この辺りもよく理解できておりません。 ご存じの方、どうぞよろしくお願いします。

  • ding2
  • お礼率97% (101/104)

質問者が選んだベストアンサー

  • ベストアンサー
  • shiren2
  • ベストアンサー率47% (139/295)
回答No.1

>どのようにしたらできるでしょうか? DDE用のライブラリを利用して下さい。 C#, Java, Python辺りならネットでダウンロード出来るライブラリで簡単に出来ます。 >更新をチェックしているという点から見れば同一かもしれない 全くの別物です。たまたま名前が被っているだけです。

ding2
質問者

お礼

時間をかけて取り組んでみれば なんとかなりそうな感じですね。 分からないことが出てきた時には また質問投稿させていただきますのでよろしくお願いいたします。 どうもありがとうございました。

関連するQ&A

  • エクセルVBAで時計のリアルタイム表示と楽天証券のRSSを並行処理することは不可能なのでしょうか??

    よろしくお願いいたします。 エクセルVBAで時計のリアルタイム表示と楽天証券のRSSを並行処理することは不可能なのでしょうか?? 最近作り始めたものでまだまだであり、壁にぶつかり続け、今回再び巨大な壁にぶつかりましたので皆様のお知恵を拝借させていただけたらと思っております。 エクセルVBAで比較的細かな投資関連のデータを集めて解析させようと思い、リアルタイムの時計を表示させて、その時間を参照してデータを取得するようにしていきたいのですが、リアルタイムの時計をVBAで動かしていると、楽天証券のRSSでのデータが全く取得されていないようで、やはりVBAが常時動いているとRSSでのデータ取得は素人の考えでは不可能だと思われます。 この点に関しては改善することができましたら大きな一歩となりますので、何か良い方法をご存知の方がおられましたら御教授いただけたらと思っております。 何卒宜しくお願い致します。

  • 楽天RSSからpythonでデータ取り込み

    楽天RSS(RealtimeSpreadSheet)から表計算ソフトを介さずに直接価格データなどを取り込む、ということに http://mrdriller.blogspot.jp/2015/01/blog-post.html を参考に取り組もうとしています。 win32ui は Python のバージョンが 3.4.4 でしたので http://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/pywin32-220.win32-py3.4.exe/download たしかこれをインストールしました。 まず、先ほどのブログのコードをそのまま貼り付けて コマンドプロンプトで実行させると >python RSS1.py File "RSS1.py", line 23 print get_price('N225.FUT01.OS') ^ SyntaxError: invalid syntax というエラーが出ましたので、 次は時間を測る部分を省略し、読み込むデータも ask, ask_sz, bit, bit_sz の内 ask だけにして、一行づつ入力してみました。 >python Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32 bit (In tel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import win32ui >>> import dde >>> s = dde.CreateServer() >>> s.Create('RSS') >>> c = dde.CreateConversation(s) >>> def get_price(code): ... c.ConnectTo('RSS', code) ... ask = c.Request(u'最良買気配値1') ... return (ask) ... >>> print get_price('N225.FUT01.OS') File "<stdin>", line 1 print get_price('N225.FUT01.OS') ^ SyntaxError: invalid syntax >>> 楽天RSSから表計算ソフトへ =DDE("RSS","N225.FUT01.OS","最良買気配値1") などとセルに入力してのデータ読み込みはうまくいっている状態です。 '最良買気配値1' 'N225.FUT01.OS' などを "最良買気配値1" "N225.FUT01.OS" と変えて実行してみても、上記の二つの方法どちらにおいても結果は変わりませんでした。 get_price を getprice と変えても同じことでした。 どこを修正すべきでしょうか? どうぞよろしくお願いします。

  • 楽天RSSからエクセルVBAを使用し確実にデータ受信する方法に関して質問です。

    楽天のRSSとGMO証券のAPIを使用し、エクセルVBAにて自動売買をしているのですが、RSSのデータを受信出来ていない事が多々あり非常に困っております。 どういう事かと申しますと、3台のPCで自動売買エクセルを起動し1秒ごとに銘柄情報を監視し、条件を満たした銘柄を売買すると言うものなのですが、肝心のデータがRSSから受信出来ませんと、売買条件を満たせ無い為、売買出来ないと言う状況です。 3台起動していても、平均すると1.2台程度の稼動率かと思います。 そこで、エクセルVBAを使用し、RSSから確実にデータ受信する方法をご存知の方がいらっしゃいましたらアドバイス頂ければと思います。 個人的には、データ受信要求を投げてから、ある一定時間以上応答が無い場合、再度RSSからデータ受信要求を投げる。 もしくは、RSS.exeを再起動すると言う方法になるかと思います。 エクセルVBAにて現状の改善方法をご存知の方、宜しくお願いいたします。

  • RSSのデータをエクセルに効率的に表示させたい

    現在楽天証券のリアルタイムスプレッドシートという物を使っております これをもう少し効率良く使いたいのですがエクセル初心者のため どうも応用が効きません ご協力をお願いします 仮にセルに以下のように記述したとします =RSS|'4755.Q'!現在値 すると”楽天”の株価の現在値が表示されます これは"4755"という数字が楽天の証券番号をあらわしているからです この他に =RSS|'4755.Q'!出来高 と入れれば楽天のその日の出来高が表示され =RSS|'4755.Q'!前日比 と入れれば楽天の前日比を見ることができます これをセルに横一列に表示させたとします すると 現在値,出来高,前日比 の数字が横一列に表示されます しかし、このデータを楽天のデータでなく 別の会社のデータに変更したいとします 仮にそれがYahooだとしたら証券番号は4689になります しかし既に楽天のデータが横一列に並んでおります =RSS|'4755.Q'!現在値, =RSS|'4755.Q'!出来高, =RSS|'4755.Q'!前日比, これら横一列全ての4755という数字を4689の数字に置き換えるのは 非常に手間です (実際もっと多数の銘柄を扱うため) そこでこの横一列にならんだセルの一番左に証券番号を入れ その番号に応じて横一列全てのデータが変化するように設定できませんか? つまり、横一列の関数が =RSS|'4755.Q'!現在値, =RSS|'4755.Q'!出来高, =RSS|'4755.Q'!前日比, であっても そのセルの一番左(Aのセル)に異なる証券番号を入れれば 関数の証券番号を表す部分だけが変化するということです かなりややこしい質問で申し訳ないのですが よろしくお願いします

  • 東証と個人契約して株価データ取得はできますか?

    現在、岡三RSSを利用しています。これによりエクセル上で株価の現在値や四本値などをリアルタイムで入手できるので非常に重宝しているのですが、もし、岡三証券がRSSの提供を止めてしまった場合を考えて、他に代用できる方法がないか考えています。 一つは楽天RSSですが、ここはリアルタイムデータではないので、駄目です。あと、「タワー」というのがありますが、これもリアルタイムではないです。 エクセルなどで利用できるリアルタイムの株価データを取得する方法はありますか。 また、東証と個人で契約して定額を支払って株価のリアルタイムデータを取得する事はできるのでしょうか。 以下に東証の「相場情報使用に関するポリシー」というものがあります。 http://www.jpx.co.jp/markets/paid-info-equities/realtime/tvdivq00000020a9-att/hpjapanese.pdf これを読むと何となく個人が情報料を支払えば取得できそうな感じですが、一個人がどれに該当するのかよくわかりません。 東証との契約についてご存知でしたら教えてください。よろしくお願いします。

  • 楽天RSS エクセル マクロVBA

    楽天RSSを使ってエクセル2007に日経225先物期近の10分足(9時~翌3時)を下記の様に(A列に10分足の時間、B列にその時間の値、D列に時刻と現在値)を表示させたいです。※D列は表示できています 。D2セルの現在値はリアルタイムで変わるので9時にスタートし、翌3:00まで10分足を表示させたいです。 ★【エクセル】★ 【A】 【B】 【C】 【D】 1 9:00 10030 9:17 ←現在時刻 2 9:10 10050 10080←現在値 3 9:20 10090 4 9:30 10120 5 9:40 10070 6 9:50 10040 7 10:00 10000 8 10:10 9970 ・ ・ 73 2:10 10080 74 2:20 10120 75 2:30 10150 76 2:40 10160 77 2:50 10190 78 3:00 10220 79 1週間ほど試行錯誤しましたが、分かりませんでした。 VBA マクロは初心者です。詳しい方よろしくお願いします。

  • 楽天RSS(RealtimeSpreadSheet)で証券コード等を他のセルから取り出す事ができるでしょうか?

    例えばExcel2007でA1セルに =RSS|'4755.Q'!現在値 と入力するとA1セルに(楽天4755)の現在価格が表示されますが、A2,A3セルに証券コードと市場を入力すると、自動でA1セルの値が変わるようにしたいのですが。 ちなみにつたない知識で次の様に試してみましたがだめでした。 A1セル:=RSS|"'"&A2&'.'&A3&"'"!現在値 A2セル:4775 A3セル:Q VBAにデータを引き渡す時の書式・・・みたいなのがあるという事でしょうか?

  • HP上のデータ取得に用いる使用言語について

    HP上のデータ取得に用いる使用言語について 具体的に為替証拠金取引の会社のHP上でリアルタイムで更新されるレートをテキストでログに落とすプログラムを作りたいと思っています。C++とかJavaとか、どんな言語でやればいいのでしょうか。一応自分はVB6/Vb2008でテキストファイルに入出力はできます。あとVB2008で簡単なクラスぐらいは作れます。よろしくお願いします。

  • LibreOffice_Calcマクロの使い方

    旧いWin10PCを再生するためLinuxOSに入れ替えました。LibreOffice_Calcの関数はExcel代替ソフトとして十分活用できます。マクロはExcelのVBAマクロのように使いこなすまでには到っていませんがマクロの自動記録機能もあり、有効に使っています。 Windowsでは、Selenium WebDriverとVBAマクロを使い、Web上の株価データを自動で取り込み、思いのままに活用していますが、LibreOfficeではWeb上のデータを自動で取り込むことは難しく、手動(Control+A,Control+C)でクリップボードにコピー、ペーストしてテキストで取り込み、その後、マクロ処理しています。 この過程で、テキストのインポートのダイアログボックスが表示され、OKボタンを押すことになるのですが、次の処理には進まず、そこで終了。次のステップを手動でマクロ処理ボタンを押し継続実行しています。 LibreOffice_calcマクロの自動記録の限界と思われますが、他に何かいい方法はないでしょうか?

  • リアルタイムで 株価取得したい!!

    楽天証券 RSS で五分足の時系列データをエクセルに自動収集したいと思っています。 おそらくVBA を駆使するのだろうと思いますが、VBA初心者なのでかなり苦しんでいます。 こんな私を、お助けください!!