เริ่มด้วยชุดข้อมูลสาธารณะฟรี
เชื่อม DB แล้วแต่ยังไม่มีข้อมูล? เริ่มจากสามชุดนี้ได้เลย ทั้งหมดฟรี ไม่ต้องใช้ API key พร้อมสคริปต์นำเข้าและค่าที่ต้องเลือกบนหน้าจอ (ตาราง คอลัมน์) สคริปต์ออกแบบเป็นชุดพาร์เซอร์ — เพิ่มแหล่งของคุณเองได้ด้วยรายการเดียว
ดาวน์โหลดตัวเก็บข้อมูล
โคลนรีโปตัวเก็บข้อมูลลงเครื่องที่รันเอเจนต์ มี dependency เดียวคือ pg ★ DATABASE_URL ใน .env ต้องเป็นบัญชีที่เขียนได้ บัญชีอ่านอย่างเดียวจะถูกปฏิเสธ INSERT ซึ่งถูกต้องแล้ว
git clone https://github.com/valueconnectinc/soritrading-fetchers ~/soritrading-fetchers cd ~/soritrading-fetchers && npm install cp .env.example .env # DATABASE_URL
https://github.com/valueconnectinc/soritrading-fetchers · โอเพนซอร์ส · หนึ่งโฟลเดอร์ = หนึ่งตัวเก็บข้อมูล · ตั้ง cron ให้
สามรายการด้านล่างเป็น **ตัวอย่างเริ่มต้น** ในรีโปยังมี VIX, ความผันผวนแฝงของคริปโต (DVOL), ส่วนต่างดอกเบี้ยพันธบัตร, ดัชนีดอลลาร์, มูลค่าตลาดสเตเบิลคอยน์ และ DeFi TVL — ฟรีทั้งหมด ไม่ต้องใช้คีย์ ดูรายการทั้งหมดด้วย `node run.mjs list` ข้อมูลตลาดจะไม่มีค่าในวันหยุดสหรัฐฯ (ไม่มี ไม่ใช่ศูนย์) และ DVOL เริ่มมีข้อมูลตั้งแต่มีนาคม 2021
วิธีอ่านหน้าตั้งค่าข้อมูล
จัดการเอเจนต์ → เลือกเอเจนต์ → แท็บตั้งค่าข้อมูล การเพิ่มหรือลบชุดข้อมูลทำได้เฉพาะคุณบนหน้านี้ — AI อ่านได้อย่างเดียว และห้ามวางสตริงการเชื่อมต่อในแชท หน้าจอเรียงจากบนลงล่างดังนี้
- เชื่อม DB ภายนอก — ใส่ชื่อการเชื่อมต่อ (เช่น main) และสตริงการเชื่อมต่อ เก็บแบบเข้ารหัสที่เครื่องเอเจนต์เท่านั้น ไม่ส่งไปเซิร์ฟเวอร์ เมื่อเปิดหน้าจอ เอเจนต์จะอ่านรายการตารางให้อัตโนมัติ ([ตรวจสอบการเชื่อมต่อ] ใช้อ่านใหม่)
- ตารางและชุดข้อมูล — หนึ่งแถวต่อหนึ่งตารางใน DB: ชื่อตาราง จำนวนแถวโดยประมาณ คำอธิบายตาราง และชุดข้อมูลที่อ่านตารางนั้นแสดงอยู่ด้านล่าง
- ระดับที่ AI มองเห็น (ด้านขวาของแถวตาราง) — ปิด (ค่าเริ่มต้น — AI ไม่รู้ด้วยซ้ำว่ามีตาราง) · ชื่อ · คอลัมน์ · ตัวอย่าง · คิวรี เลือกแล้วกด [บันทึกการเปิดเผย] ระดับคอลัมน์ ตัวอย่าง และคิวรีส่งข้อมูลจริงให้ AI อย่าเปิดตารางที่มีข้อมูลส่วนบุคคล เปิดได้เฉพาะตารางใน schema public
- ชื่อชุดข้อมูล (ใต้แถวตาราง) — ค่าที่กลยุทธ์เรียกด้วย ctx.data(ชื่อ) [+ เพิ่มชุดข้อมูลจากตารางนี้] → เลือกชื่อ คอลัมน์เวลา คอลัมน์ค่า คำอธิบายเติมจากคำอธิบายตาราง และ [บันทึก] จะเปิดหลัง [ทดสอบ] ผ่าน ตารางเดียวตั้งได้หลายชื่อ (แยกซีรีส์ตามกระดานเทรดหรือสินทรัพย์ด้วยตัวกรอง หรือกลยุทธ์เก่าใช้ชื่ออื่น) ป้ายสถานะ: ใช้ได้ · รอตรวจ · เชื่อมต่อไม่ได้ กดป้ายเรียลไทม์ข้างๆ เพื่อตั้งค่าการปลุก (poll · notify · redis) — ส่วนใหญ่ใช้ค่าเริ่มต้นได้
- ชุดข้อมูลแบบคำนวณ (SQL) — ค่าที่ต้องคำนวณ เช่น ค่าเฉลี่ยเคลื่อนที่ ค่าย้อนหลัง หรือรวมหลายตาราง SQL อ่านได้หลายตารางจึงรวมไว้แยก ไม่วางใต้ตารางใด การคำนวณส่วนใหญ่ทำในโค้ดกลยุทธ์ด้วย ctx.data สองตัวได้ ใช้ SQL เฉพาะเมื่อต้องใช้ข้อมูลย้อนหลังทั้งหมด (ค่าเฉลี่ยเคลื่อนที่ อันดับ) SQL แบบเดิมก็อยู่ที่นี่: [ตรวจ SQL แล้ว] · [ลบ] หรือแปลงแบบง่ายเป็นการเลือกตารางทีเดียว
- ชุดข้อมูลที่หาตารางไม่พบ — เมื่อตารางที่ประกาศไว้ไม่อยู่ในรายการปัจจุบัน ชุดข้อมูลจะไม่หายไป แต่อยู่ที่นี่พร้อมเหตุผล: ยังไม่ได้รับรายการตาราง (ไม่ได้แปลว่าไม่มี) · DB ไม่มีตารางนั้น (เปลี่ยนชื่อหรือลบ) · อุปกรณ์นี้ไม่มีชื่อการเชื่อมต่อนั้น
- มีสองขอบเขต — ระดับที่ AI มองเห็นเก็บไว้ที่อุปกรณ์ที่เปิดอยู่เท่านั้น ชุดข้อมูลใช้กับทุกอุปกรณ์ที่มีชื่อการเชื่อมต่อเดียวกัน ถ้ามีหลายอุปกรณ์ ต้องเลือกระดับการมองเห็นแยกแต่ละเครื่อง
1. ดัชนีความกลัวและความโลภ
alternative.me0 (กลัวสุดขีด) ถึง 100 (โลภสุดขีด) รายวัน ตั้งแต่ ก.พ. 2018 เป็นแกนอารมณ์ตลาดที่ราคาอย่างเดียวมองไม่เห็น เหมาะเป็นการทดสอบแรกที่สุด
node run.mjs fear-greed
การเชื่อมต่อ: main · ตาราง: fear_greed ชื่อ: fg · คอลัมน์เวลา: ts · คอลัมน์ค่า: v
2. แฮชเรตบิตคอยน์
blockchain.comตัวชี้วัดจากเชนเอง (TH/s) คนละแกนกับราคา ใช้เป็นตัวกรองสภาวะตลาดได้ ค่ามีขนาดใหญ่และเคลื่อนช้า จึงควรใช้เป็นอัตราส่วนต่อค่าเฉลี่ยเคลื่อนที่แทนค่าดิบ
node run.mjs btc-hashrate
การเชื่อมต่อ: main · ตาราง: btc_hashrate ชื่อ: hashrate · คอลัมน์เวลา: ts · คอลัมน์ค่า: v
3. อัตราดอกเบี้ยนโยบายสหรัฐ (สำหรับฝึก)
FRED (DFF)อัตรา federal funds รายวัน ตัวกรองสภาวะเศรษฐกิจมหภาคยอดนิยม ★ หมายเหตุ: ค่าเดียวกันมีอยู่แล้วเป็นตัวชี้วัดพื้นฐาน base_fedfunds (ctx.data('base_fedfunds') — เอเจนต์ของคุณเก็บจาก FRED) การใส่ค่าเดียวกันสองทางทำให้ผลลัพธ์ไม่ชัดว่าใช้ทางไหน จึงควรใช้เพื่อฝึกการเชื่อมต่อเท่านั้น
node run.mjs fed-funds
การเชื่อมต่อ: main · ตาราง: macro_fed_funds ชื่อ: dff · คอลัมน์เวลา: ts · คอลัมน์ค่า: v
เก็บข้อมูลตามรอบ (cron)
ติดตั้งรอบเวลาที่แต่ละตัวเก็บข้อมูลประกาศไว้ลงใน crontab รันซ้ำได้โดยไม่เพิ่มบรรทัดซ้ำ และไม่แตะรายการที่คุณใส่เอง ล็อกอยู่ที่ ไฟล์ของแต่ละตัวเก็บข้อมูลในโฟลเดอร์ logs/
node run.mjs --install-cron
- แนะนำให้คอลัมน์เวลาเป็น epoch หน่วยวินาที (มิลลิวินาทีและ ISO ระบบตรวจจับได้เอง และดูได้จาก tsUnit ในรายงานการตรวจสอบ)
- รันสคริปต์ซ้ำได้อย่างปลอดภัย — เป็น upsert จึงไม่มีข้อมูลซ้ำและอัปเดตเฉพาะค่าที่ใหม่กว่า รันซ้ำเป็นระยะเพื่อข้อมูลล่าสุด
- ผลแบ็คเทสต์จะมีลายนิ้วมือข้อมูล (จำนวนแถว แฮช) ถ้าเนื้อหาใน DB เปลี่ยน ลายนิ้วมือจะเปลี่ยน และผลสองรายการที่ลายนิ้วมือต่างกันคือคนละเงื่อนไข
- แบ็คเทสต์ที่ใช้ข้อมูลภายนอกก็รันบนเอเจนต์ — แบ็คเทสต์ทุกงานรันบนเอเจนต์ (คลังแท่งเทียนของฉัน) เท่านั้น
- ตารางที่คุณเปิดเผยจะมองเห็นได้โดย AI (ระดับคอลัมน์ ตัวอย่าง และคิวรีส่งข้อมูลจริง) — อย่าเปิดเผยตารางที่มีข้อมูลส่วนบุคคล
เอกสารทั้งหมด — คู่มือ