質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

4518閲覧

株価をデータベースにどうやって保存するか

hiyashikyuri

総合スコア388

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/05/10 05:49

編集2017/05/10 05:53

###前提・実現したいこと
企業の
0. 株価 ( 1週間ごと )
0. 営業利益 ( 1年単位 )
0. ROE ( 1年単位 )
等をデータベースに保存してそれらを出力したいと考えています

営業利益、ROEは1年単位の数字なので設計上問題はないのですが、
株価は1週間ごとのデータなので、こちらをどのようにデータベースに突っ込んだら良いのか、
経験がないのでうまくまとまりません

できる限り保守性が高くスマートに設計したいと考えているので、ご教授お願いいたします!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/05/10 08:18

株価情報をどこから取得するのでしょうか。どこかのニュースサイトのページをクロールするつもりならお止めください。
hiyashikyuri

2017/05/10 12:15

銘柄は10前後を予定しているので、週に一度証券会社などから情報を取得し手入力を考えています。なのでクローリングは行う予定なないです。
guest

回答2

0

ベストアンサー

他の情報が無いので、以下の前提
1.システムによって、株価は週に1回投入される
2.システムによって、営業利益は導出された内容を年に1回投入される
3.システムによって、ROEは導出された内容を年に1回投入される
4.データベースには 株価、営業利益、ROEが保持される
5.データベース投入される営業利益およびROEは、他のデータベースからの情報による導出項目ではない
※頻度によりますが、通常導出項目はDB保持しない

株価履歴テーブル
株価履歴ID autoincriment pkey notnull
株価年度 varchar{4} not null foreignkey(年次テーブル:年度)
株価月 varchar{2} not null
株価日付 varchar{2} not null
更新時間 timestamp not null unique
株価価格 float not null

年次データテーブル
年度 varchar{4} pkey
ROE float not null
経常利益 int not null

利用する際は上記テーブルを株価年度でjoinすればいいかと。

投稿2017/05/10 06:04

kanimaru

総合スコア1013

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiyashikyuri

2017/05/10 12:16

提供する情報が少なくて申し訳ありませんでした;; 的確にわかりやすく教えていただき感謝しております!
guest

0

ちょっと色々と想像できないので憶測ですが、
株価は証券取引所が営業している時、常に変動しているので、どの時点の数字を取るのかを考えなければいけません。

将来性?があるのかどうかはわかりませんが、株価を記録する企業数が多くないのであれば
・株価id(ai)
・取得日時
・始値
・終値
を取っておいて、プログラムで出力する週をSQLで引っ張ってくるだけでよいのではないでしょうか。

ただ、全銘柄を長時間記録していくのであればレコード数が増えるので遅くなる可能性はあります。

投稿2017/05/10 06:01

s.t.

総合スコア2021

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問