X



トップページ先物
281コメント100KB
[システム]プログラム言語など学習スレ[初心者]
■ このスレッドは過去ログ倉庫に格納されています
0001科学 ◆3Zqk5DmAz2
垢版 |
04/08/22 09:52ID:8CONAiKh
自分でシステムを検証できるようになるように初歩から
プログラミングやExcelを学んでいこう、というスレです。
0004科学 ◆3Zqk5DmAz2
垢版 |
04/08/22 10:42ID:8CONAiKh
ちなみに自分はperlを勉強しようと思っているんで、
お仲間がいましたら一緒に勉強しましょう。
0006科学 ◆3Zqk5DmAz2
垢版 |
04/08/22 11:26ID:8CONAiKh
メモ帳に時系列データがあって、それに移動平均線を
引く、って時点でもうどうしてよいのかわかんないのです。

条件に合うデータを抽出するのはなんとかわかるんだけど。
0008名無しさん@大変な事がおきました
垢版 |
04/08/22 11:51ID:Xu5t1AoD
質問スレの宣伝見て来ました。
自分は、これからPHP勉強したいです。
とりあえず、WEBサーバ作りました(C++で)。
Perlってどこが良いんですか?
WEBサーバ作ってるときにPerlが良いという人がいました。
ちょっと興味があります。
>>1さんがんばってください。
0009科学 ◆3Zqk5DmAz2
垢版 |
04/08/22 13:33ID:8CONAiKh
>>7さん
最近、Excelに限界を感じてきました。特に時系列データの処理を
手作業でやるのがしんどくてしょうがないのです。

あと、せっかくだから何か言語を使えるようになりたいと前から
思ってました。

>>8さん
来てくれてありがとうございます!
perlの利点は
・初心者がとっつきやすい
・テキストの処理に向いている
あと、他の言語にステップするのに最初に手をつけるのに良いらしいです。
0010名無しさん@大変な事がおきました
垢版 |
04/08/22 20:29ID:+98IKndd
cvsの取り込み+EMAの計算+出力。5列目が終値の場合。

#!/usr/bin/perl -w
use strict;
my $ema=0;
my $alpha=2/(10+1);
while(<>){
chomp;
my @a=split(",",$_);
if($ema==0){
$ema=$a[4];
}else{
$ema=$ema+$alpha*($a[4]-$ema);
}
printf("%s,%d\n",$a[0],$ema);
}
0015名無しさん@大変な事がおきました
垢版 |
04/08/23 08:38ID:Lt+spbDb
TEMAのエクセルでの計算方法がわかるかたいらっしゃいますか?
EMAはわかるのですが、TEMAがどうやってもうまくいきません。

eSignalのスクリプトと、なにかのスクリプトの計算式はわかったのですが、
そのスクリプトの仕様がわからないため、excelに実装できないでいます。

ttp://share.esignal.com/groupcontents.jsp?folder=EFS%20-%20Averages&groupid=7
の下から5番目にeSignalのTEMAスクリプトファイルがあります

ttp://www.fongan.net/mtHelp/mtHelpTPage.asp?cn=&hpi=1158
がなんかのスクリプトで使うらしき(?)計算式です

わかる方がいましたら、よろしくお願いします。
0016名無しさん@大変な事がおきました
垢版 |
04/08/23 09:58ID:R/G1pnhw
>>9
自分のサイト「成功するのに時間かかる方法」に
「慣れないプログラム言語を覚えようとし始めたり」
って自分で書いてあるのにやろうとするのは何故ですか?
001715
垢版 |
04/08/23 13:12ID:Lt+spbDb
=EMA(前日のEMA,当日の終値,日数)

Function EMA(PEMA, CPrice, n)
EMA = PEMA + (2 / (n + 1)) * (CPrice - PEMA)
End Function


エクセルで作ったEMA関数ですが、
21日のEMAを出すには、
まず、最初に21日間の終値の平均を出します。

[B21]
=average(A1:A21)

これが21日EMAの最初のEMAになります。
以降、

[B22]
=EMA(B21,A22,21)
[B23]
=EMA(B22,A23,21)
   ・
   ・

とします。

と、ここまではできるのですが、TEMAがわかりません。
001815
垢版 |
04/08/23 13:13ID:Lt+spbDb

サイトの式では、
EMA(EMA(EMA(当日終値, 係数), 係数), 係数)

となってるのですが、

自作の関数では、前日のEMAが引数として必要です。

EMA(前日のEMA, EMA(前日のEMA, EMA(前日のEMA, 当日終値, 日数), 日数), 日数)

としたのですが、なにか違うような気がします。

3つのEMAの計算時に、引数として全て同じ前日のEMAを入れていいのかがわかりません。
(係数は関数内で計算しているため、自作の関数では日数にしてます)

0019名無しさん@大変な事がおきました
垢版 |
04/08/24 01:55ID:lyXneuRH
>>15
TEMAというのはTripleEMAで3回EMA処理することみたいだね。
だから基本的に生プライスのシリーズ>EMA1回目のシリーズ>2回目>3回目
とそれぞれデータ配列を処理していけばいいと思うんだけど、
ぶっちゃけMAでもEMAでもMAMAでもEMAEMAでもどれがシステムに優位になるとかはないよ。
それぞれパラメータがあるわけだしね。DONCHANチャンネルの中間線とかはMAでごちゃこちゃやるよりも、
割合直感に近い動きをしたりする。eSignalあるならデフォであるね。
002115
垢版 |
04/08/24 02:58ID:O2s3pCfX
ありがとうございます。
いろんなのがあるんですねぇ。

TEMAですが、
EMA1(n日)を出したら、そのEMA1(n日)自体のEMAを出していくみたいですね。
というとこまでわかりました。
頭こんがらがりそう…
0026名無しさん@大変な事がおきました
垢版 |
04/08/27 01:34ID:ea+IpcZy
エクセルでRSIを1列で書けますか?
0027名無しさん@大変な事がおきました
垢版 |
04/08/27 04:57ID:/kfL3kWq
>>26

一行はムリじゃないでしょうか。
収めて3行くらいですが、かなり見にくくなって入力間違い等ありそうですが。

>>25

TEMAはサポート・レジスタンスとしては結構機能してる気がします。
通常のMAはどうだかわかりませんが。
ソフトでも見れるのでいいんですが、翌日のTEMA(予測値)を出したかったもので。

excelは主に上昇率・下降率・パターン認識から翌日のレンジ予測に使ってます。

0029名無しさん@大変な事がおきました
垢版 |
04/08/27 10:51ID:vJviGSol
>>27
特定のMAがよく機能するなんてことはないと思う。
そこにあるのは最適化された数式と数字だけ。
0031名無しさん@大変な事がおきました
垢版 |
04/08/27 23:59ID:qZKrAWuC
メモリ:256MB
CPU:3Ghz

なんですが、
なぜか、エクセルが妙に遅い…
15年ほどの日足+各種計算をやってるんですが、
リスト内をクリックするだけで再計算。
数分〜数十分かかる…

参照&計算多すぎなのかな
なんか変なもんでも入っちゃったのかなぁ…

DELPHIで作るか…
0033名無しさん@大変な事がおきました
垢版 |
04/08/28 17:44ID:hsSsCjQ+
>>31
プログラム板へ行けばわかるが、DEL使いは死滅しつつあるよ。
どうせDelphi.netになってしまっているから、Delphiの存在価値がなくなってしまって、DEL使いはC#に移行し、みな満足している。
普通にC#.netでやれば良いと思う。
0034名無しさん@大変な事がおきました
垢版 |
04/08/28 18:35ID:qOg59TiJ
おりが使っていうるのは
丸紅が自信を持ってお送りする「ロジテック」

死ぬほど早い
0035名無しさん@大変な事がおきました
垢版 |
04/08/28 20:53ID:VU98/oWK
>>33

DELPHI起動してみたものの、
なにをすればいいのかわからずボーゼン。
しばらくやってないうちに使い方わすれてしまったorz

DELPHI、骨組みはCより楽だから、自分で使うには全然いいと思います。

Cは、、、これまたしばらくやってないけど、
使い方覚えてみようか…

>>34

ロジテックってPC本体ですか?

0037名無しさん@大変な事がおきました
垢版 |
04/08/30 09:48ID:bfrCr7GM
そうですかぁ
フォーム作るのがめんどくさそうですね
まぁ、DELPHI歴は数ヶ月にも満たないから忘れちゃってたし、
CはDOS時代で止まってるけど、DELPHIよりはいいかなぁ
無料みたいなので、ちょっと見てみようかな
0043名無しさん@大変な事がおきました
垢版 |
04/09/09 21:45ID:r0ErF0w8
open(IN,"jikeiretu.txt");
@file = <IN>;

foreach $line (@file) {
if($line!~/^0/) {
print"$line";
}
}
close(IN);

で0から始まる時系列データだけを削除しようと思うのですが、
コマンドプロンプトで実行すると、うまく実行できるときとできない
ときがあるようです。原因など検討がつく人がおりましたら是非
教えて下さい。
0045名無しさん@大変な事がおきました
垢版 |
04/09/10 02:41ID:JrG9OXpI
>>44
ありがとうございます。やってみます。
0047名無しさん@大変な事がおきました
垢版 |
04/09/11 03:08:50ID:XNnnf2Bi
>>46
おまえここでも宣伝かよ
いいかげんにしろよな
0048名無しさん@大変な事がおきました
垢版 |
04/09/22 01:22:00ID:rA8DudgZ
どーもはじめまして。よさげなスレですね。
自分も参入させて下さい。

プログラミングの知識は皆無なんでC#の参考書買ってきたのですがソッコー挫折しました。
でEXCELのVBAの入門書から地道に勉強することにしました。

とりあえずYahoo Financeから時系列データの自動取得と自動更新するとこまでは出来たのですが、
データを読み込むときに不規則に文字化けしてしまうので、それを見つけて修正する
分割の考慮が終値しかされていないので始値などにも修正を加える等、
いろいろ細かい所に苦労させられてます。

プログラミングってそういうもんなんですかねぇ。疲れました。
0049名無しさん@大変な事がおきました
垢版 |
04/09/22 09:32:39ID:NSBB40j5
>>48
おまえには無理、もうやめろ。
0051名無しさん@大変な事がおきました
垢版 |
04/10/09 12:37:29ID:hpJm92gG
別のスレでも書いたのですが

課題が出たのですが分からないので教えてください

この間に、英文テキストファイル(単語数100語程度)を用意し、
これを処理するプログラムをつくります。

プログラムは、
(1)テキストファイルを単語ごとに区切る
(2)単語をソートして並べ替える
(3)ファイルに保存する
という流れで作ってください

↑という問題です
初心者にも分かりやすくお願いします
0052名無しさん@大変な事がおきました
垢版 |
04/10/09 16:39:18ID:KDj6XkLE
細かい文法は知らんが、一行でこんな感じか?
awk '{for(i=1;$i != NR;i++) {print;} }' text_file | sort | uniq > word_file
0053名無しさん@大変な事がおきました
垢版 |
04/10/09 19:18:45ID:TuZEOwv8
>>51
その程度は簡単にできるようにならないと相場のデータ処理で苦労するぞ。

1、基本的には、英語なので、文字列を" "スペースで区切って、配列に全部格納する。
2、配列の要素をソートした結果を最終的な配列要素に再格納する。
3、ファイルに保存する。

あとは、1,2,3、の具体的なコードを手元の本やら、WEBで調べ上げて、組み上げる。
0054名無しさん@大変な事がおきました
垢版 |
04/10/10 00:13:13ID:MWNdmKgF
>>51
デバグ済み
awk '{for(i=1;$i != NL;i++) print $i;}' text_file | sort | uniq > word_file

入力例(text_file)
AAA aaa xxx aaa bbb ccc
zzz xyz aaa ccc
zzz AAA zzz

出力結果(word_file)
AAA
aaa
bbb
ccc
xxx
xyz
zzz
005754
垢版 |
04/10/10 09:12:18ID:4Raj5P29
awk、sort、uniqはUNIXのコマンドです。WindowsでもCygwin(フリー)をインストールすると
UNIXが使えるようになります。ちょっとしたテキスト処理はawk言語で記述できるので
便利ですよ。今はperl使う人が多いかもですが苦手なのでいつも数行のawkを書きます。
005854
垢版 |
04/10/10 09:14:36ID:4Raj5P29
失礼、56は51に対する質問でしたね。勘弁。
0061名無しさん@大変な事がおきました
垢版 |
04/10/11 01:54:08ID:klhAdfHc
>>60
俺のはperlで作ったスクリプトだったので4ステップ修正すれば対応できたけど、
vbaなどの言語を使っている人には辛い画面リニューアルだったんじゃないかな
と思ったんですがどうですかね?
0062!60
垢版 |
04/10/11 07:13:52ID:dveyoV0q
>>61
ttp://homepage.mac.com/chartscape/DataSources/

CSV形式で取得するのがメジャー。
取れない情報があればしかたがないが、大抵はある。

0063名無しさん@大変な事がおきました
垢版 |
04/10/11 12:53:49ID:P6bZSP/K
ココの人たちってJAVA使わないの?

オリジナルのテクニカル分析も自由に開発できるじゃん
データはCSVでとればいいだけだし、EXCELじゃグラフ機能とか限界あるでしょ

006461
垢版 |
04/10/11 13:51:32ID:klhAdfHc
>>62
例えば、1983年以降のすべてのデータの一括取得後、日々の更新では差分だけを
取得するような単純な処理のツールですら以前(今はあるよね??)にはなかったで
すもん。

んで、現状でも取れない情報があったり、自分好みの形式で取得できなかったりす
るのでツールはもう自作するのがデフォルトになってます。

最近は特定株比率と浮動株比率の一覧が欲しくって、四季報からの情報抽出ツー
ルを作ってます。

>>63
テクニカル分析にはC#でデータの取得にはperlを使ってます。
0065香取は
垢版 |
04/10/14 19:51:00ID:Y1IZBwK+
0066名無しさん@大変な事がおきました
垢版 |
04/10/20 00:59:43ID:Q7Gryl8w
データの整形にperl,計算はjavaを使っています。
最近は銘柄ごとに50日分の時系列データを保存したtxtを2つの引数にして相関係数を計算するものをつくってみました。
日経225銘柄(カネボウ除く)について計算すると
もっとも低い組み合わせbest10は
4324 (株)電通 9020 東日本旅客鉄道(株) -0.365958535
8232 (株)東急百貨店 9503 関西電力(株) -0.363421861
8232 (株)東急百貨店 9020 東日本旅客鉄道(株) -0.363399061
9020 東日本旅客鉄道(株) 2282 日本ハム(株) -0.317717922
8232 (株)東急百貨店 9532 大阪ガス(株) -0.311209315
8232 (株)東急百貨店 9501 東京電力(株) -0.293873876
8232 (株)東急百貨店 9502 中部電力(株) -0.290992723
6976 太陽誘電(株) 9020 東日本旅客鉄道(株) -0.263416163
4010 三菱化学(株) 9020 東日本旅客鉄道(株) -0.261863376
2768 双日ホールディングス(株) 4502 武田薬品工業(株) -0.251814005

といった具合になりました。24976個の相関係数が3時間くらいで計算できます。
excelのみでこういうことをしようとすると苦しいです。
0067
垢版 |
04/10/20 08:43:08ID:Yr5qagUz
なんでそんなのに3時間もかかるんだよ・・・
0068名無しさん@大変な事がおきました
垢版 |
04/10/21 17:27:55ID:I66kwsdj
>>67
各銘柄毎に総当たりで相関関係を計算してるんでしょう。
昔は計算速度が遅かったから、CAPMみたいにベンチマーク基準にする
必要があったわけですが。
0069名無しさん@大変な事がおきました
垢版 |
04/10/23 02:04:41ID:S6VxSnfU
66ですが、68さんのおっしゃるとおりです。
銘柄ごとのタブ区切りファイルが224あって、この中から重複のないように2つの組み合わせをとって計算するわけです。
ファイル名を証券コードにしてあるので引数を表示に使いまわせるので便利です。
0070名無しさん@大変な事がおきました
垢版 |
04/10/25 01:16:44ID:yt6wnz7E
エクセルのことで、恐縮なんですが、a1,a2,a3,a4・・・にある偶数ばんめのデータ(つまりa2,a4,a6・・・)をb1=a2,
b2=a4,b3=a6としたいのですが、これはVBAを使わない場合どういうふうにすればいいのでしょうか?
0071名無しさん@大変な事がおきました
垢版 |
04/10/25 01:27:15ID:18wcQBHr
B1 に =OFFSET($A$1,ROW(B1)*2-1,0) と入力して、
あとはB2〜B3にコピーすればできるんでは?
ふと思いついただけなので、もっといい方法があるかもしれません。

0072名無しさん@大変な事がおきました
垢版 |
04/10/29 10:17:39ID:pby0QLl0
エクセルで30分ブレイクアウトの検証をしたいのですが、
5分足の4本値を取り込んで、
1日のうちの初めの6本だけのMAX MINの表示のさせ方を教えてください^^;
日付が代わって初めの6本だけっていうのが
どうも分からなくて。
0075名無しさん@大変な事がおきました
垢版 |
04/11/07 07:52:46ID:KbX4uk57
>>72
よくわからないけども、IF関数を使って、日付か何かで分岐させれば?
0078名無しさん@大変な事がおきました
垢版 |
04/11/29 02:57:53ID:wDuN1n5A
Excelの扱える行数は32767行もしくは65535行まで
Excel自身が持ってるグラフ化機能も使えるけど
上限数が決まってる時点で致命的に不便
プレーンテキストで保存してLinuxマシンにGNUplotでも入れて描画させれ
0079科学 ◆FFsokSSv6M
垢版 |
04/11/29 07:58:51ID:b2FhxBq1
vbaの達人にExcel検証ファイル作ってもらって
システムトレード観が変わりました。

パンで翻訳やってる長尾さんとかもVBA使ってるくらいだから
初心者さんは難しい言語に手を出す必要ないと思います。
0080科学 ◆dHjFqJ8EBM
垢版 |
04/11/29 11:24:05ID:5ooLbKUW
rrrqqqaaaあっとhotmail.com
VBAを一緒に勉強できる仲間募集してます。
今、オンラインなので、連絡下さい。
0081名無しさん@大変な事がおきました
垢版 |
04/11/30 03:01:35ID:vrULKeon
科学さん おそかった。オフでした。
0082科学 ◆dHjFqJ8EBM
垢版 |
04/11/30 18:40:33ID:alrJeQ9u
今またオンラインです。
0083科学 ◆dHjFqJ8EBM
垢版 |
04/11/30 21:39:36ID:alrJeQ9u
VBA。手動を記録してソース見て色々考えているレベル。
0084名無しさん@大変な事がおきました
垢版 |
04/12/05 02:07:27ID:duVMwChG
ニーズがあるかどうかは分かりませんが、もし必要な人が
いましたらどぞ。

日本株3795銘柄の日足の4本値を各銘柄ごとにCSVファイル
に保存してあります。

[株価データ] 日本株3795銘柄 1983.01.04-2004.12.03.zip 90,486,405 5dcb813f103483c5b6dcc4f2d3ba4130
0085@84
垢版 |
04/12/05 14:50:16ID:duVMwChG
多少はDLされましたよ。ちと驚いたかもw

なお、日々の株価データは次のページで提供されているデータを使って
ください。提供されている銘柄や扱っている市場がほぼ同じです。分配
には、perlか何かでツールを作ればいいやね。

ttp://www.rain-net.com/kabu/
0086名無しさん@大変な事がおきました
垢版 |
04/12/11 15:02:00ID:Pk/gCxgk
最強のシステムトレードだそうです。使ってみてはどう?

RCトレーディングシステム
ttp://swingwaver.com/index.php
0087名無しさん@大変な事がおきました
垢版 |
04/12/17 19:28:36ID:q+iGbLot
>>84
私も日本株3795銘柄の日足の4本値が欲しいのですが、
どこのホームページにあるのでしょうか。

0089名無しさん@大変な事がおきました
垢版 |
04/12/17 20:52:35ID:mStAHGvY
すっごい損した。もう損しまくり
0090名無しさん@大変な事がおきました
垢版 |
04/12/17 21:44:34ID:mStAHGvY
>>87
よく知らないけど、これってnyで放流してるって意味なんじゃない
0091名無しさん@大変な事がおきました
垢版 |
04/12/17 21:59:25ID:45tflrRT
デイトレ用チャートソフトのリアルデータを数秒毎に取り出し
自作システムに使用している方はいないでしょうか?
今はVBAを使い数秒毎に自動更新しているのですが、これだと
データ処理専用PCと注文用PCの2台が必要になるで・・・
商品先物用のDDE機能付きの格安ソフトがあればそれでもいいんですが。
0093@92
垢版 |
04/12/17 23:35:50ID:w3Z58TVl
ちと補足。

今度のデータには1991年以降の日経平均、TOPIX、ジャスダック指数のcsvファイルが
含まれてますけど、いらなければ捨てちゃってください。
0094名無しさん@大変な事がおきました
垢版 |
04/12/22 18:14:37ID:14wg50Eh
>>92
いろいろ努力してみたのですが、「ページを表示できません」のメッセージが出ます
ツール→「インターネットオプション」→「詳細設定」は規定値にしているのですが。
どこかいじる必要があるのでしょうか。
0095名無しさん@大変な事がおきました
垢版 |
04/12/22 19:11:41ID:y8YHblgG
まだバーチャだけでつが、自分は
『やさしいPerl 表計算的処理編』
という本を買って勉強しました。
エクセルユーザーならとても読みやすいと思います。

でも、Perlに馴染めずいまはPythonつかってまつが(w

ttp://www.amazon.co.jp/exec/obidos/ASIN/4899770413/250-6800550-0489814
0098名無しさん@大変な事がおきました
垢版 |
04/12/24 04:27:39ID:3TiZerKO
どこから抽出するのかが問題。
また抽出したデータを毎日欠かさず蓄積していかなければならない。
更に、抽出や蓄積となったとしても株式分割修正を加えなければならない。
その全てをある程度自動化できてやっと株価データベースが完成する。
それほど難しい問題ではないが、単純でもない。
0099名無しさん@大変な事がおきました
垢版 |
04/12/25 09:35:25ID:FnZOespb
ここひとつき、土日にコツコツ作り始めて、
やっとそれっぽいのが出来たよ。

使用するテクニカル分析を選び、パラメータを調整し、シグナル発生条件を決める。
過去シグナル発生ごとに、予め決めた期間内の上昇幅、下落幅を計算する。
これをすべてのシグナルに対して繰り返して、結果、その指標は、有効か否かを検証する。

このツールの有効点は・・・

■銘柄に有効なテクニカル指標とそのパラメータを割り出せる。
■そのテクニカルを使うと、過去どれくらいの確率で、どれくらい上がったか下がったかが分かる。
■どれくらい下げても我慢するかを予め決めておくことにつながる。(冷静な取引の手引きにできる)

で、今のところ、移動平均とボリンジャーバンドにしか対応してない。
今後は、もっと多くのテクニカル分析に対応させて、それぞれをAND、ORで組み合わせるようにするつもり。

最初のテクニカル検証結果をもとに、ポジる条件、ストップ、リミット条件、
ポジションサイズの変更条件を設定し、資金の増え方を見る、
ってところまで作りたいです。
0100名無しさん@大変な事がおきました
垢版 |
04/12/25 09:40:13ID:FnZOespb
↑はJAVAで作りました。仕事で使ってるので・・・。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況