تصدير أسعار العملات CSV: 4 فحوص قبل تحليل البيانات

راجع تصدير أسعار العملات إلى CSV عبر المصدر ووحدة الوقت والقيم المفقودة ومفاتيح الدمج، وتجنب جمع الحجم المتداخل وحساب العوائد خطأ.

مراجعة المحتوى: 26 أكتوبر 2026.

تصدير أسعار العملات إلى ملف CSV لا يضمن أن البيانات مناسبة للمقارنة التي تريد إجراءها. قد تكون الأرقام صحيحة لكن المصدر أو وحدة الوقت أو نوع السعر أو دقة الفترات مختلفة عما تفترضه. قبل حساب عائد أو مؤشر أو حجم يومي، احتفظ بنسخة المصدر ووصف واضح للسلسلة، ثم افحص الهوية والوقت والقيم وطريقة الدمج. هذه الخطوات تجعل نتيجة التحليل قابلة للمراجعة بدل الاعتماد على اسم ملف يوحي بأنه نهائي.

إنفوجرافيك: تصدير أسعار العملات CSV: 4 فحوص قبل تحليل البيانات
ملخص بصري لأهم النقاط الواردة في المقالة.

الفحص الأول: وثّق هوية السلسلة وحدود التنزيل

سجل الأصل ومعرّفه والزوج والمنصة ونوع السوق وعملة التسعير ومزود البيانات وتاريخ التنزيل. إذا كان السعر مجمعًا، احتفظ برابط تعريفه، وإذا كان محليًا فحدد السوق نفسه. لا تسم ملفين باسم الأصل فقط إذا كان أحدهما فوريًا والآخر مشتقًا أو أحدهما مقابل الدولار والآخر مقابل عملة مستقرة. التشابه في الاسم لا يمنع اختلاف معنى كل عمود.

راجع أيضًا ما تم تنزيله فعلًا، لا ما طلبته فقط. توضح وثائق تصدير TradingView أن التصدير يرتبط بالبيانات المحملة على الرسم. لذلك تحقق من أول تاريخ وآخر تاريخ وعدد الصفوف بعد التنزيل. لا تفترض أن اختيار إطار يومي يمنحك كل تاريخ الأصل أو أن وصول ملف دون رسالة خطأ يعني اكتمال المدة المطلوبة.

وقد تتغير دقة الفترات حسب طول الطلب والخطة أو واجهة الخدمة. تشرح CoinGecko دقة بياناتها التاريخية أن بعض الطلبات تستخدم دقة تلقائية مرتبطة بالمدة. لا تعتمد على قيم خطة أو حدود محفوظة من تجربة قديمة؛ اقرأ التوثيق الحالي وقياس الفواصل الفعلية في الملف قبل مقارنة تنزيلين يغطيان نطاقين مختلفين.

اكتب وصفًا صغيرًا بجانب البيانات

يمكن أن يكون الوصف: إغلاقات ساعة لزوج محدد من سوق فوري معين، وقت UTC يمثل بداية الفترة، حجم بوحدات الأصل، وآخر شمعة مستبعدة لأنها جارية. أضف نطاق التاريخ المطلوب والنطاق الذي وصل ومعالجة أي نقص. هذا الوصف أوضح من اسم مثل أسعار كاملة، ويمكن وضعه في ملاحظة مستقلة حتى لا يختلط بصفوف البيانات.

احتفظ بملف المصدر دون تعديل، وأنشئ نسخة عمل بتاريخ أو رقم إصدار. إذا حدث المصدر بيانات قديمة لاحقًا، تستطيع مقارنة النسختين ومعرفة ما تغير. لا تستبدل الملف السابق تلقائيًا ثم تحاول تفسير اختلاف نتيجة سابقة من الذاكرة. وسجل خطوات المعالجة بالترتيب، لأن حذف الصفوف أو تغيير الوقت أو ملء القيم قد يؤثر في النتيجة بقدر أثر المعادلة نفسها.

الفحص الثاني: طابق وحدة الوقت ومعنى الطابع

قد يأتي الوقت كتاريخ نصي أو رقم يمثل ثواني أو أجزاء أصغر منذ مرجع زمني. قراءة رقم بالمللي ثانية كما لو كان ثواني قد تنتج تاريخًا غير منطقي. تحقق من وحدة التوثيق ثم اختبر صفًا معروفًا. ولا تحول وحدة الوقت بإزالة أرقام عشوائيًا؛ التحويل الحسابي يحتاج الاحتفاظ بالدقة اللازمة وبيان ما إذا كنت قربت أو قطعت الكسور.

حدد هل الطابع يصف بداية الشمعة أم نهايتها، وهل نهاية الفترة مشمولة أو مستبعدة وفق تعريف المصدر. دمج ملف يبدأ ساعته عند 10:00 مع آخر يسمي الفترة نفسها بنهايتها عند 11:00 قد يجعل القيم تبدو متأخرة ساعة. لا تزح أحد العمودين حتى يتطابق الرسم بصريًا قبل إثبات أن الفرق ناتج عن اصطلاح الوقت نفسه.

وحوّل نسخة العمل إلى منطقة زمنية موحدة للمقارنة، مع الاحتفاظ بالوقت الأصلي. التاريخ المحلي النصي دون إزاحة أو منطقة قد يكون ملتبسًا، خصوصًا في مناطق تغير التوقيت موسميًا. لا تفترض أن الساعة المكتوبة تعني UTC لمجرد أن السوق رقمي. كما أن تغيير عرض الوقت لا يعيد تجميع الشموع تلقائيًا إلى حدود يوم مختلفة.

مثال لفحص اكتمال نافذة ساعة

افترض بيانات دقيقة واحدة لنافذة من 10:00 شاملة إلى 11:00 غير شاملة، والطابع يمثل بداية الدقيقة. إذا كان المصدر يوفر صفًا لكل دقيقة في هذه النافذة، تتوقع ستين صفًا من 10:00 إلى 10:59. لكن بعض الخدمات قد لا تنشئ صفًا عند غياب الصفقات، لذلك تحقق من سياسة المصدر قبل إعلان أن كل غياب خطأ تنزيل.

إذا وجدت 59 صفًا، حدد الدقيقة الناقصة وافحص السبب. وإذا وجدت 61، ابحث عن تكرار أو صف نهاية إضافي أو شمعة جارية. العدد وحده اختبار أولي؛ فقد يحتوي ملف من ستين صفًا على دقيقة مكررة وأخرى مفقودة. افحص مجموعة الطوابع وترتيبها وفواصلها، لا الإجمالي فقط، ثم وثق ما وجدت بدل إصلاحه بصمت.

الفحص الثالث: راجع الأنواع والقيم والحقول

افتح تعريف الأعمدة وحدد ما إذا كانت الأسعار أرقامًا أو نصوصًا تحتاج استيرادًا مضبوطًا. فاصل عشري أو فاصل آلاف يختلف بحسب إعداد البرنامج قد يغير 1.25 إلى قيمة أخرى أو يقسم الحقل إلى عمودين. اختبر عدة صفوف بقيم كبيرة وصغيرة، واحتفظ بعدد المنازل العشرية الضروري بدل تقريب كل الأسعار مبكرًا إلى منزلتين.

لا تساوِ بين الخلية الفارغة والصفر وN/A ورمز الخطأ. سعر صفر يدخل في حساب العائد بطريقة مختلفة عن سعر مجهول، وحجم صفر قد يكون ملاحظة حقيقية أو معالجة افتراضية. اكتب قاعدة التعامل مع كل حالة، ولا تنشئ حجم تداول متخيلًا لتملأ النقص. وإذا حملت سعرًا سابقًا إلى فترة مفقودة لغرض محدد، أضف علامة تبين أنه مقدار مستكمل لا مشاهدة جديدة.

وفي بيانات OHLC العادية، افحص ألا يتجاوز الأدنى الأعلى، وأن يقع الافتتاح والإغلاق داخل النطاق. فشل العلاقة قد يعني ترتيب أعمدة خاطئًا أو بيانات غير مناسبة أو خطأ مصدر. لا تصلح القمة بأخذ أكبر رقم في الصف إذا لم تعرف تعريف الحقول؛ فقد يكون أحدها حجمًا أو قيمة مؤشر مختلفًا تمامًا عن الأسعار.

الفحصمثال لما ينبغي توثيقه
نوع السعرإغلاق شمعة أو آخر صفقة أو مؤشر
وحدة الحجموحدات الأصل أو التسعير أو عقود
الوقتالوحدة والمنطقة وبداية الفترة أو نهايتها
القيم المفقودةرمزها وطريقة التعامل معها
الاكتمالالفترات الناقصة والشمعة الجارية
التكرارمفتاح الصف وسبب الحذف أو الإبقاء

انتبه إلى الحجم المتحرك والتراكمي

عمود حجم 24 ساعة عند كل ساعة لا يعني حجم تلك الساعة. جمع أربع وعشرين قراءة متداخلة قد يعد الصفقات نفسها مرات عديدة. راجع هل الحقل يمثل نافذة متحركة أو تراكمًا منذ بداية اليوم أو حجم فترة مستقلة. لا يمكنك تحويل هذه الأنواع إلى بعضها بالجمع المباشر لمجرد أن جميع القيم تحمل وحدة نقدية واحدة.

وفي مثال تراكمي داخل جلسة واحدة، القيم 100 ثم 250 ثم 400 تعني أن الإجمالي الأخير 400. فروقها المرحلية 100 ثم 150 ثم 150 إذا كان الصفر بداية مناسبة وفق تعريفك. لكن إذا أعيد تعيين العداد بين صفين، فلا تستخدم الفرق السالب بوصفه حجمًا سالبًا. اكتشف حدود الجلسات أو إعادة التهيئة قبل استخراج الفروق.

كما أن ضرب حجم الأصل في سعر الإغلاق لا يعطي بالضرورة قيمة التداول الدقيقة، لأن الصفقات نفذت بأسعار متعددة. يمكن استخدامه كتقريب معلن عند ملاءمته للسؤال، لكن لا تستبدل به حقل قيمة تداول موثقًا ثم تزعم أنه مجموع الصفقات نفسه. دقة الملف الأصلي لا تجعل أي تحويل تختاره دقيقًا بطبيعته.

الفحص الرابع: ادمج الملفات بمفتاح يصف الصف فعلًا

الوقت وحده ليس مفتاحًا فريدًا إذا كان الملف يضم أسواقًا أو أصولًا أو أطرًا متعددة. قد يكون الصف عند 10:00 لزوجين مختلفين، وحذف أحدهما باعتباره مكررًا يفقد بيانات صحيحة. ابنِ المطابقة على هوية السوق والإطار والطابع ونوع القيمة حسب بنية الملف. احتفظ بالصفوف المتعارضة للمراجعة إذا تطابق المفتاح واختلفت الأرقام.

رتب الصفوف زمنيًا قبل حساب التغيرات، وتحقق من اتجاه الترتيب. ملف يبدأ بالأحدث يجعل قسمة كل صف على السابق تعكس علاقة مختلفة إذا تعاملت معه كترتيب تصاعدي. في سلسلة تعليمية 100 ثم 110 ثم 99، العوائد المتتابعة موجبة 10% ثم سالبة 10%، والنتيجة النهائية سالبة 1% من البداية؛ هذا اختبار صغير يكشف أخطاء اتجاه المقارنة والجمع.

وعند جمع شموع أصغر إلى أكبر، استخدم افتتاح الأولى وأعلى قمة وأدنى قاع وإغلاق الأخيرة، مع جمع الأحجام المستقلة المتوافقة. لا تجمع نسب العائد البسيطة للحصول على عائد الفترة؛ اضرب عواملها أو احسب السعر النهائي إلى الأول. واحرص على أن النافذة كاملة ومطابقة للحدود التي تريدها، لا مجرد عدد مناسب من صفوف متجاورة.

تحقق من النتيجة واحتفظ بحدودها

قارن بضعة تواريخ مرجعية مع المصدر، منها البداية والنهاية وفترة ذات حركة كبيرة وفترة ناقصة إن وجدت. أعد حساب مثال صغير يدويًا قبل تعميم المعادلة على آلاف الصفوف. إذا تغيرت النتيجة بعد المعالجة، حدد أي خطوة سببت الفرق بدل الاكتفاء بأن الملف أصبح نظيفًا شكليًا. كل حذف أو استكمال يحتاج أثرًا مفهومًا على السؤال الذي تحلله.

استخدم قائمة المتابعة لتسجيل السوق الذي تنزله، ومساعدة العملات الرقمية لترتيب أسئلة الهوية والمصدر إذا اختلفت البيانات. ملف مفيد للتحليل يجمع أرقامًا موصوفة وزمنًا واضحًا ومعالجة قابلة للتكرار. وحتى بعد اجتياز الفحوص، تبقى نتائجه وصفًا لتلك البيانات وفق فرضياتك، ولا تصبح ضمانًا لتنفيذ أو عائد مستقبلي.

تامر طعمه
تامر طعمه

صاحب موقع بتكوين، يشارك تجربته مع منصات التداول منذ 2016 ويقدّم شروحًا عربية عن العملات الرقمية والمحافظ والتكاليف. المحتوى تعليمي عام، ولا يمثل توصية استثمارية شخصية.

المقالات: 484