全部产品
Search
文档中心

Tair (Redis® OSS-Compatible):Hasilkan grafik candlestick untuk saham dengan menggunakan TairSearch

更新时间:Jul 02, 2025

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.

Catatan

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.

Catatan Jika Anda ingin menambahkan atau memodifikasi bidang, jalankan perintah 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:

OK

Impor 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.TairSearch构建股票效果图

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 second
  • Harga 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