Saya mencoba membuat simulator pasar saham (mungkin akhirnya tumbuh menjadi AI yang memprediksi), tetapi saya kesulitan menemukan data untuk digunakan. Saya mencari sumber data pasar saham historis (semoga gratis).
Idealnya, itu akan menjadi set data yang sangat halus (interval kedua atau menit) dengan harga dan volume setiap simbol pada NASDAQ dan NYSE (dan mungkin yang lain jika saya suka bertualang). Adakah yang tahu sumber untuk info seperti itu?
Saya menemukan pertanyaan ini yang menunjukkan Yahoo menawarkan data historis dalam format CSV, tetapi saya tidak dapat menemukan cara mendapatkannya dalam pemeriksaan sepintas tentang situs yang ditautkan.
Saya juga tidak suka gagasan mengunduh sedikit demi sedikit data dalam file CSV ... Saya membayangkan Yahoo akan marah dan mematikan saya setelah beberapa ribu permintaan pertama.
Saya juga menemukan pertanyaan lain yang membuat saya berpikir saya akan mendapatkan jackpot, tapi sayangnya situs OpenTick tampaknya telah menutup pintu ... terlalu buruk, karena saya pikir mereka persis seperti yang saya inginkan.
Saya juga bisa menggunakan data yang hanya buka / tutup harga dan volume setiap simbol setiap hari, tetapi saya lebih suka semua data jika saya bisa mendapatkannya. Ada saran lain?
Jawaban:
Biarkan saya menambahkan 2 ¢ saya, itu tugas saya untuk mendapatkan data yang baik dan bersih untuk dana lindung nilai, saya telah melihat cukup banyak feed data dan penyedia data historis. Ini terutama tentang data stok AS.
Untuk mulai dengan, jika Anda memiliki uang jangan repot-repot dengan mengunduh data dari Yahoo, dapatkan data akhir hari langsung dari data CSI , ini adalah di mana Yahoo mendapatkan data EOD mereka juga AFAIK. Mereka memiliki API tempat Anda dapat mengekstrak data ke format apa pun yang Anda inginkan. Saya pikir berlangganan data tahunan adalah beberapa $ 100 dolar.
Masalah utama dengan mengunduh data dari layanan gratis adalah Anda hanya mendapatkan stok yang masih ada, ini disebut Survivorship Bias dan dapat memberi Anda hasil yang salah jika Anda melihat banyak stok, karena Anda hanya akan memasukkan yang membuatnya begitu jauh dan bukan yang tidak terdaftar.
Untuk bermain-main dengan beberapa data intraday saya akan melihat ke IQFeed , mereka menyediakan beberapa API untuk mengekstrak data historis, meskipun mereka terutama pakaian untuk feed real-time. Tetapi di sini ada beberapa opsi, beberapa broker bahkan menyediakan unduhan data historis melalui API mereka, jadi pilih saja racun Anda.
TAPI biasanya semua data ini tidak terlalu bersih, setelah Anda benar-benar mulai menguji kembali Anda akan melihat bahwa stok tertentu hilang atau muncul sebagai dua simbol yang berbeda, atau stock split tidak diperhitungkan dengan benar, dll. Dan kemudian Anda menyadari bahwa historis data dividen juga diperlukan dan Anda mulai berjalan dalam lingkaran, menambal data bersama dari 100 sumber data yang berbeda dan seterusnya. Jadi untuk memulai dengan umpan data "diskon" akan dilakukan, tetapi segera setelah Anda menjalankan backtests yang lebih komprehensif Anda mungkin mengalami masalah tergantung pada apa yang Anda lakukan. Jika Anda hanya melihat, katakanlah, saham S&P 500 ini tidak akan menjadi masalah dan feed intraday "murah" akan berlaku.
Apa yang tidak akan Anda temukan adalah data intraday gratis. Maksud saya Anda mungkin menemukan beberapa contoh, saya yakin ada 5 tahun data kutu MSFT beredar tetapi itu tidak akan membuat Anda terlalu jauh.
Kemudian, jika Anda membutuhkan barang nyata (buku pesanan level II, semua kutu seperti yang terjadi di semua bursa) satu "terjangkau", namun pilihan yang sangat baik adalah Nanex . Mereka benar-benar akan mengirimkan Anda sebuah drive dengan data terabyte. Jika saya ingat benar tentang data sekitar $ 3k-4K per tahun. Tapi percayalah, setelah Anda memahami betapa sulitnya mendapatkan data intraday yang baik, Anda tidak akan berpikir ini adalah uang yang sangat banyak.
Bukan untuk mengecilkan hati Anda tetapi untuk mendapatkan data yang baik itu sulit, begitu sulit bahkan banyak hedge-fund dan bank menghabiskan ratusan ribu dolar per bulan untuk mendapatkan data yang dapat mereka percayai. Sekali lagi, Anda dapat mulai di suatu tempat dan kemudian pergi dari sana tetapi ada baiknya melihatnya sedikit dalam konteks.
Sunting: Jawaban di atas adalah dari pengalaman saya sendiri. Artikel ini dari Caltech tentang umpan data yang tersedia akan memberikan lebih banyak wawasan, dan terutama merekomendasikan QuantQuote .
sumber
JAWABAN INI TIDAK TEPAT AKURAT SEPERTI PAKAN YAHOO TELAH CEPAT
Dengan menggunakan pendekatan CSV Yahoo di atas, Anda juga bisa mendapatkan data historis! Anda dapat merekayasa balik contoh berikut:
http://ichart.finance.yahoo.com/table.csv?s=YHOO&d=0&e=28&f=2010&g=d&a=3&b=12&c=1996&ignore=.csv
Pada dasarnya:
Daftar lengkap parameter:
sumber
Saya tahu Anda ingin "gratis", tetapi saya serius mempertimbangkan untuk mendapatkan data dari csidata.com sekitar $ 300 / tahun, jika saya adalah Anda.
Itu yang yahoo gunakan untuk memasok data mereka.
Muncul dengan API yang layak, dan data (sejauh yang saya tahu) sangat bersih.
Anda mendapatkan 10 tahun sejarah saat berlangganan, dan kemudian pembaruan malam sesudahnya.
Mereka juga mengurus segala macam hal buruk seperti perpecahan dan dividen untuk Anda. Jika Anda belum menemukan kegembiraan pembersihan data, Anda tidak akan menyadari betapa Anda sangat membutuhkan ini, sampai pertama kali ATS Anda (Automated Trading System) berpikir beberapa saham benar-benar sangat murah, hanya karena ia membagi 2 : 1 dan Anda tidak menyadarinya.
sumber
Kumpulan data dari setiap simbol pada NASDAQ dan NYSE pada interval detik atau menit akan menjadi masif .
Katakanlah ada total 4000 perusahaan yang terdaftar di kedua bursa (ini mungkin berada di sisi yang sangat rendah karena ada lebih dari 3.200 perusahaan yang terdaftar di NASDAQ). Untuk data pada interval kedua, dengan asumsi ada 6,5 jam perdagangan dalam sehari, yang akan memberi Anda 2.300 poin data per hari per perusahaan, atau sekitar 93.600.000 titik data total untuk satu hari itu. Dengan asumsi 200 hari perdagangan dalam setahun, itu sekitar 18.720.000.000 poin data hanya dalam satu tahun.
Mungkin Anda ingin memulai dengan set yang lebih kecil dulu?
sumber
Intro:
Dari yahoo Anda bisa mendapatkan harga historis EOD (akhir hari), atau harga real-time. Harga EOD luar biasa sederhana untuk diunduh. Lihat blog saya untuk penjelasan tentang cara mendapatkan data dan untuk contoh kode C #.
Saya sedang dalam proses menulis data feed real-time "mesin" yang mengunduh dan menyimpan harga real-time dalam database. Mesin awalnya akan dapat mengunduh harga historis dari Yahoo dan Broker Interaktif dan akan dapat menyimpan data dalam database pilihan Anda: MS SQL, MySQL, SQLite, dll. Ini open source, tapi saya akan memposting lebih banyak informasi di blog saya ketika saya semakin dekat untuk merilisnya (dalam beberapa hari).
Pilihan lain adalah eclipse trader ... ini memungkinkan Anda untuk merekam data historis dengan rincian serendah 1 menit dan menyimpan harga secara lokal dalam file teks. Ini pada dasarnya mengunduh data real-time dari Yahoo dengan penundaan 15 menit. Karena saya menginginkan solusi yang lebih kuat dan saya sedang mengerjakan proyek sekolah besar yang memerlukan data, saya memutuskan untuk menulis mesin pengumpanan data saya sendiri (yang saya sebutkan di atas).
Kode Sampel:
Berikut adalah kode sampel C # yang menunjukkan cara mengunduh data waktu-nyata:
Basis Data:
Di sisi basis data saya menggunakan
OleDb
koneksi ke file CSV untuk mengisiDataSet
dan kemudian saya memperbarui basis data saya yang sebenarnyaDataSet
, itu pada dasarnya memungkinkan untuk mencocokkan semua kolom dari file CSV yang dikembalikan dari Yahoo langsung ke basis data Anda ( jika database Anda tidak mendukung batch menyisipkan data CSV, seperti SQLite). Jika tidak, memasukkan data hanya satu baris ... cukup masukkan CSV ke dalam basis data Anda.Anda dapat membaca lebih lanjut tentang pemformatan url di sini: http://www.gummy-stuff.org/Yahoo-data.htm
sumber
NASDAQ menawarkan 10 tahun data EOD historis untuk setiap simbol
http://www.nasdaq.com/aspx/historical_quotes.aspx?symbol=AAPL&selected=AAPL
Anda dapat mengotomatiskan proses mengunduh data ini.
sumber
Untuk data bebas bias penyintas, satu-satunya sumber terpercaya yang saya temukan adalah QuantQuote ( http://quantquote.com )
Data datang dalam resolusi menit, detik, atau centang, tautan ke data stok historis mereka .
Ada saran untuk kibot di atas. Saya akan melakukan pencarian google cepat sebelum membeli dari mereka, Anda akan menemukan banyak posting seperti ini dengan peringatan tentang masalah kualitas data kibot. Ia juga mengatakan bahwa sp500 mereka yang seharusnya bertahan bias hanya memiliki 570 simbol selama 14 tahun. Itu sangat tidak mungkin, perubahan sp500 dengan 1-2 simbol per bulan ....
sumber
Sayangnya data ticker historis yang gratis sulit didapat. Sekarang opentick sudah mati, saya tidak tahu penyedia lain.
Dalam kehidupan sebelumnya saya bekerja untuk hedgefund yang memiliki sistem perdagangan otomatis, dan kami menggunakan data historis sebanyak-banyaknya.
Kami menggunakan TickData untuk sumber kami. Harga mereka masuk akal, dan data memiliki resolusi kedua.
sumber
Kami telah membeli data intraday 12 tahun dari Kibot.com dan cukup puas dengan kualitasnya.
Adapun persyaratan penyimpanan: 12 tahun data 1 menit untuk semua ekuitas USA (lebih dari 8000 simbol) adalah sekitar 100GB.
Dengan situasi data tick-by-tick sedikit berbeda. Jika Anda mencatat waktu dan penjualan saja, itu akan menjadi sekitar 30GB data per bulan untuk semua ekuitas USA. Jika Anda ingin menyimpan tawaran / meminta perubahan bersama dengan transaksi, Anda dapat mengharapkan sekitar 150GB per bulan.
Saya harap ini membantu. Tolong beri tahu saya jika ada hal lain yang dapat saya bantu.
sumber
Biarkan saya menambahkan sumber yang baru saya temukan, ditemukan di sini .
Ini memiliki banyak data stok historis dalam format csv dan dikumpulkan oleh Andy Pavlo, yang menurut homepage-nya adalah "Asisten Profesor di Departemen Ilmu Komputer di Universitas Carnegie Mellon".
sumber
Mathematica nowoadays juga menawarkan akses ke harga saham saat ini dan historis, lihat http://reference.wolfram.com/mathematica/ref/FinancialData.html , jika Anda memiliki salinannya.
sumber
day
Anda dapat menggunakan yahoo untuk mendapatkan data harian (set data yang jauh lebih mudah dikelola) tetapi Anda harus menyusun url. Lihat tautan ini . Anda tidak membuat banyak permintaan kecil, Anda membuat permintaan besar lebih sedikit. Banyak perangkat lunak bebas menggunakan ini sehingga mereka tidak harus mematikan Anda.
EDIT: Orang ini yang melakukannya, mungkin Anda bisa melihat panggilan dari perangkat lunaknya.
sumber
Yahoo adalah pilihan paling sederhana untuk mendapatkan data gratis awal. Tautan yang dijelaskan dalam jawaban eckesicle dapat dengan mudah digunakan dalam kode python, tetapi Anda pertama-tama membutuhkan semua tickers. Saya akan menggunakan NYSE untuk contoh ini, tetapi ini dapat digunakan untuk pertukaran yang berbeda juga.
Saya menggunakan halaman wiki ini untuk mengunduh semua tickers perusahaan dengan skrip berikut (Saya bukan Pythonist yang sangat berbakat, maaf jika kode ini tidak terlalu efisien):
Untuk mengunduh setiap ticker saya menggunakan skrip lain yang mirip:
Perhatikan bahwa kerugian utama dari metode ini adalah bahwa data yang berbeda tersedia untuk perusahaan yang berbeda - Perusahaan yang tidak memiliki data pada tanggal yang diminta (baru terdaftar) akan memberi Anda halaman 404.
Juga perlu diingat bahwa metode ini hanya baik untuk data awal - Jika Anda benar-benar ingin menguji algoritma Anda, Anda harus membayar sedikit dan menggunakan pemasok data tepercaya seperti CSIData atau yang lain
sumber
Mengapa tidak memodelkan pasar saham palsu dengan Brownian Motion?
Banyak sumber daya untuk melakukannya. Mudah diimplementasikan.
http://introcs.cs.princeton.edu/java/98simulation/
sumber
Saya menggunakan eodData.com. Cukup murah. Untuk 30 dolar sebulan Anda mendapatkan 30 hari bar 1,5 dan 60 menit untuk semua pertukaran AS dan 1 tahun data EOD untuk sebagian besar lainnya.
sumber
Saya akan menjelajah finance.google.com (untuk kutipan) - atau finance.yahoo.com.
Keduanya akan menghasilkan halaman html untuk sebagian besar pertukaran di seluruh dunia, termasuk historis. Lalu, tinggal menguraikan HTML untuk mengekstrak apa yang Anda butuhkan.
Saya telah melakukan ini di masa lalu, dengan sukses besar. Atau, jika Anda tidak keberatan menggunakan Perl - ada beberapa modul di CPAN yang telah melakukan pekerjaan ini untuk Anda - yaitu mengekstraksi kutipan dari Google / Yahoo.
Untuk lebih lanjut, lihat Sejarah Penawaran
sumber
Proyek saya yang terdahulu akan menggunakan data yang dapat diunduh secara bebas dari EODData .
sumber
Lihatlah API Data Efek Historis Mergent - http://www.mergent.com/servius
sumber