SSブログ

Windows Live Writerを試してみた [その他]

初めてブログというものを書き始めて、

こりゃ~続けるには専用のツールがほしいぞ、と思いまして
使いやすそうなブログエディタを探してみました。
もともと、文章をWebフォームで編集するのは嫌いなので。。。

ほしい機能は、
・オフラインで編集できる
・過去の投稿を管理できる
・投稿が簡単
くらいです。

ネットで調べると、どうやらWindows Live Writerが人気の模様。
もともとインストールされていたので、とりあえずテスト投稿してみたところ、
カテゴリが設定されない!
という問題が。

わざわざ投稿したあとに編集するのは面倒なのでなんとかしたく。
他に使いやすそうなエディタ探しましたが、公開終了だったり。
Windows Live Writerのプラグインからむりくりなんかできないか考えてみたりしましたが、
コンテンツ作成補完みたいな使い方しか見つからず(あたりまえですよね(笑))
なかなかうまくいきませんTT

簡単なタグ補完とプレビュー表示ができればOKでは?と思ったので、
いっそのこと自作?とか考えましたが、
たぶん途中で飽きるので、やめときました。
今までに未完成のまま放置されているアプリケーションは数知れず。。。

当面、Windows Live Writerで下書きして、投稿するときだけ管理画面という
めんどくさい形になりそうです。


nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:

Kingsoft Spreadsheetsで株価取得 その2 [VBA]

では、URLを可変にしていきます。

銘柄コードはA列に入力しています。
2行目からデータが始まっているので、
    strCode = Cells(2, "A")
とすると、先頭コードが取得できます。
デバッグ実行すると、3048が取得できました。
そう、先頭コードはビックカメラでした(笑)

とりあえず、A列が空になるまでループして
コードを取得してみます。

    Dim strCode As String
    Dim rowIndex As Integer
   
    rowIndex = 2
    strCode = Cells(rowIndex, "A")
   
    Do While strCode <> ""
        rowIndex = rowIndex + 1
        strCode = Cells(rowIndex, "A")
    Loop


コードは問題なく取れました^^

さて、あとURLに必要なのは日付です。
市場の開いている日となると、考えるのが面倒なので、
シートのあいている場所に更新日を持たせ、更新日~今日のデータを取得してしまいます。
私は、更新日内でも再度更新するかもしれないので(時系列データが更新された後でもう一回、とか)
更新日からにしていますが、
必要なければ日付を比較してExitしてしまうのがいいかと思います。

更新日がないときのための初期値を指定
 Private Const INITUPDATEDD As Date = "2012/08/9"

シートから更新日(検索の開始日)を取得
     '開始日取得
    updateDate = Cells(1, "S")
    If updateDate = 0 Then
        updateDate = INITUPDATEDD
    End If

上の銘柄コードの取得と合わせてURL作成して
ダウンロード。

    '最初のコード取得
    rowIndex = 2
    strCode = Cells(rowIndex, "A")
   
    Do While strCode <> ""
       
        'URL生成
        strUrl = "http://info.finance.yahoo.co.jp/history/?code="
        strUrl = strUrl + strCode + "&"
        strUrl = strUrl + "sy=" + CStr(Year(updateDate)) + "&"
        strUrl = strUrl + "sm=" + CStr(Month(updateDate)) + "&"
        strUrl = strUrl + "sd=" + CStr(Day(updateDate)) + "&"
        strUrl = strUrl + "ey=" + CStr(Year(Now)) + "&"
        strUrl = strUrl + "em=" + CStr(Month(Now)) + "&"
        strUrl = strUrl + "ed=" + CStr(Day(Now)) + "&"
        strUrl = strUrl + "tm=d"
       
        Set html = New MSHTML.HTMLDocument
        Set document = html.createDocumentFromUrl(strUrl, vbNullString)

        ' ダウンロード待ち
        Do
            DoEvents
            If (document.readyState = "complete") Then
                Exit Do
            End If
        Loop While (True)
       
        resHtml = document.body.innerHTML
       
        '次のコード取得
        rowIndex = rowIndex + 1
        strCode = Cells(rowIndex, "A")

    Loop

    '更新日更新
    Cells(1, "S") = Now

 

ウォッチで表示できている範囲が短すぎてデータがちゃんと取れているのか不安ですが(笑)
次回は取得したhtmlの中身を解析します。


タグ:VBA
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

Kingsoft Spreadsheetsで株価取得 その1 [VBA]

さて、前の記事で作成したKingsoft Spreadsheetsのシートに、
株価更新の機能を追加していきます。

需要はなさそうですが、VBA自体はExcelと同じみたいなので、簡単に説明していきます。
※私の使用しているKingsoft SpreadsheetsはVBA版です。
通常のKingsoft SpreadsheetsだとVBAが使えないと思います。ご了承ください。

データの取得元はYahoo!ファイナンスです。

適当な位置にコマンドボタンを作成して
Visual Basicエディターを起動します。

今回はHTMLDocumentを使用しますので、
参照設定からMicrosoft HTML Object Library を選択します。

コマンドボタンのクリックイベントの中にデータ取得のプログラムを書きます。

Private Sub CommandButton1_Click()
    Dim html As MSHTML.HTMLDocument
    Set html = New MSHTML.HTMLDocument
    Dim resHtml As String
            
    Dim document As MSHTML.HTMLDocument
    Set document = html.createDocumentFromUrl("http://info.finance.yahoo.co.jp/history/?code=6753.T&sy=2012&sm=8&sd=8&ey=2012&em=8&ed=9&tm=d", vbNullString)
    
    Do
        DoEvents
        If (document.readyState = "complete") Then
            Exit Do
        End If
    Loop While (True)
       
    resHtml = document.body.innerHTML
End Sub

 

上の例はとりあえずシャープの時系列を取得しています。
resHtmlにシャープの時系列のページが入っていますので、
そこから終値を抜き出す必要があります。

その前に、シャープ固定だと何の役にも立たないので^^;、
次回はシート上のコードからURL文字列を作成したいと思います。


タグ:VBA
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

優待・配当狙いの銘柄一覧 [株主優待]

私のトレード方針ですが、大体7割スイング・3割中長期トレードにし、
中長期銘柄は優待・配当狙いでゆっくりと楽しんでいます。

スイングはスクリーニングをその都度かけて抽出するのでいいのですが、
中長期用の銘柄をうまく管理できるモノが見つからない!ということで
シートを作成しました。
(ちなみに、ケチってkingsoftです)
無題.jpg

これの現在値欄を毎日更新するような仕組みを何か考え中です。
やり方はまた次回にでも。


タグ: kingsoft 優待
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

Yahoo!ファイナンスの時系列データ取得 [vb.net]

Yahoo!ファイナンスの時系列データのURLが変更になってましたね。
まったく気がついていませんでした。
今のところ旧URLでも取得できますが、
いつ消されるかわからないので修正。

ちなみに、私はもともとvb.net & postgresで株のデータ管理をしていたため、
そのままvb.netを使用しています。
(OmegaChartのバイナリデータをはきだすことをはじめて考えたときはちょっと後悔しましたが・・・)
Yahoo!ファイナンスの時系列データはこんな感じで取得してます。


    Dim wc As WebClient = New WebClient()
    '文字コード設定
    wc.Encoding = System.Text.Encoding.GetEncoding("UTF-8")

    'URL作成
    Dim strUrl as String = "http://info.finance.yahoo.co.jp/history/?"
    strUrl += "code=1301&"
    strUrl += "sy=2012&"
    strUrl += "sm=8&"
    strUrl += "sd=7&"
    strUrl += "ey=2012&"
    strUrl += "em=8&"
    strUrl += "ed=7&"
    strUrl += "tm=d&"
    strUrl += "p=1"
    'レスポンス取得
    resHtml = wc.DownloadString(strUrl)

 


パラメータ名がaとかbだったのがsyやsmなどわかりやすくなってますね。
sy - 開始年、sm - 開始月、sd - 開始日
ey - 終了年、em - 終了月、ed - 終了日
p - ページ数

ちなみに、コードの後ろに本当は「.T」などの市場情報がつくのですが、
市場情報を持っていないので今のところつけないでいます。
勝手に優先市場を表示してくれているのでは、と勝手に期待しています。

 

tmのパラメータはよくわかりません--;何でしょう。

殴り書きなので、改造は自己責任でお願いしますm(_ _)m


タグ: VB.NET
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

分割調整 [OmegaChart]

株を分割したときのデータの調整をどうしようか考え中です。

StockDataLoader+はデータをよくよく見ると調整していないようでした。
まぁ分割したところがわかりやすいといえばわかりやすいので、
調整なしというのもありなんでしょうかね。

昔、Postgresでデータ管理していたときは、分割時に割合算出して
一括Updateしていたのですが。
OmegaChartのバイナリデータだとそうもいきません--;

やっぱり、分割した銘柄のみファイル全書換するしかないのかな。


タグ:OmegaChart
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

OmegaChart使い始めました [OmegaChart]

こんにちは、ペペロンチーノです。

このブログは、
投資のために作りたいアプリの構想(妄想)や、
そのためのプログラムの備忘録、
日々の投資について(反省用--;)などを整理するために作りました。
よろしくお願いします。

さて、いまさらですが、
最近やっとOmegaChartを使い始めました。
もう随分前に活動は終了しているようですが、
なんと言ってもソースコードが公開されているのでとても助かりますね。
後、バックテストやスクリーニングも簡単にできるのがポイント高いですね。
いずれは、データ自体も拡張し、思い通りの売買ルールでテストができるように改造していきたいと思ってます。
(C#苦手なのでいつになるかわかりませんが・・・。)

目先の目標はデータ取得です。
いまはStockDataLoader+というフリーソフトを使わせてもらってるのですが、
こちらはソースは公開されていないので、
何か取得元に仕変でもあったら終了~、になってしまいます。
まぁ、自分で作れよって話なんですが、中々重い腰があがらず今に至ってます。
今月中に形になるよう頑張ってみます。


タグ: OmegaChart
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。