Topik ini menjelaskan cara menghasilkan grafik candlestick untuk saham menggunakan TairSearch.
Informasi latar belakang
Grafik candlestick sering digunakan oleh pedagang dan investor untuk menganalisis pola harga saham serta memprediksi pergerakan harga. Selain itu, candlestick merupakan indikator teknis dasar yang menjadi inti dari analisis saham. Beberapa indikator lainnya diturunkan dari candlestick. Setiap candlestick menunjukkan harga pembukaan, tertinggi, terendah, dan penutupan saham dalam rentang waktu tertentu. Candlestick biasanya dihasilkan setiap setengah jam, harian, mingguan, bulanan, atau kuartalan.
Organisasi di sektor sekuritas umumnya menerima data mentah harga saham secara hampir real-time dari bursa saham. Data tersebut kemudian digunakan untuk menghasilkan candlestick, seperti candlestick harian atau candlestick 5-menit. Investor dan pedagang memiliki persyaratan tinggi terkait ketepatan waktu data. Hal ini menjadi tantangan besar bagi penyedia informasi saham dalam menangani volume permintaan komputasi dan akses real-time yang besar.
TairSearch adalah struktur data pencarian teks lengkap berbasis memori yang mengintegrasikan caching dan komputasi untuk pengambilan data real-time. Ini menjadikannya pilihan ideal untuk caching data panas dan komputasi real-time guna menghasilkan candlestick. Topik ini memberikan contoh cara menghasilkan candlestick 3-menit untuk saham menggunakan TairSearch.
Untuk informasi lebih lanjut tentang TairSearch, lihat Search.
Contoh
Buat skema untuk saham
Dalam contoh ini, sebuah catatan data dihasilkan setiap 3 detik. Anda dapat menjalankan perintah TFT.CREATEINDEX untuk membuat skema dengan kode saham sebagai kuncinya. Skema ini mencakup bidang-bidang berikut: high, low, open, close, amount, volume, dan date. Bidang date ditentukan sebagai indeks.
TFT.UPDATEINDEX.Contoh kode:
TFT.CREATEINDEX 58Z074 '{
"mappings": {
"properties": {
"high": {"index": false,"type": "double"},
"low": {"index": false,"type": "double"},
"open": {"index": false,"type": "double"},
"close": {"index": false,"type": "double"},
"volume": {"index": false,"type": "long"},
"amount": {"index": false,"type": "long"},
"date": {"index": true,"type": "long"}
}
}
}'Output yang Diharapkan:
OKImpor data tentang saham
Tulis data ke dokumen TairSearch. Contoh kode:
TFT.ADDDOC 58Z074 '{
"high": 1237.53,
"low": 887.54,
"open": 987.36,
"close": 997.53,
"volume": 110,
"amount": 2809,
"date": 1659922202
}'Hasilkan candlestick secara real-time
Hitung harga pembukaan, tertinggi, terendah, dan penutupan saham dalam 3 menit terakhir untuk menghasilkan candlestick 3-menit. Contoh kode:
Hitung harga pembukaan:
TFT.SEARCH 58Z074 '{ "size": 1, "_source": {"includes": "open"}, "sort": [{"date": {"order": "asc"}}], "query": {"range": {"date": {"gte": 1659922200,"lte": 1659922380}}} }'Hitung harga penutupan:
TFT.SEARCH 58Z074 '{ "size": 1, "_source": {"includes": "close"}, "sort": [{"date": {"order": "desc"}}], "query": {"range": {"date": {"gte": 1659922200,"lte": 1659922380}}} }'Hitung harga tertinggi dan terendah:
TFT.SEARCH 58Z074 '{ "size": 0, "query": {"range": {"date": {"gte": 1659922200,"lte": 1659922380}}}, "aggs": {"high": {"max": {"field": "high"}},"low": {"min": {"field": "low"}}} }'
Hasilkan grafik candlestick untuk saham
Gambar berikut menunjukkan grafik candlestick yang dihasilkan menggunakan pustaka Pyecharts.
Data performa
Bagian berikut menyediakan data performa untuk menghitung harga-harga di atas:
Harga pembukaan dan penutupan:
Perintah:
redis-benchmark -r 1 -n 100000 TFT.SEARCH 58Z074 '{"size": 1, "_source": {"includes": "open"}, "sort": [{"date": {"order": "asc"}}], "query": {"range": {"date": {"gte": 1659922200,"lte": 1659922380}}}}'Output:
100.00% <= 5 milliseconds 12078.75 requests per secondHarga tertinggi dan terendah:
Perintah:
redis-benchmark -r 1 -n 100000 TFT.SEARCH 58Z074 '{"size": 0,"query": {"range": {"date": {"gte": 1659922200,"lte": 1659922380}}},"aggs": {"high": {"max": {"field": "high"}},"low": {"min": {"field": "low"}}}}'Output:
100.00% <= 2 milliseconds 65019.51 requests per second