إن معرفة كيفية حساب تقلب العملات هي الفارق بين تطبيق متعدد العملات يستوعب بهدوء حركة بنسبة 2% بين ليلة وضحاها، وآخر يوقظك باتصال في الثالثة فجرًا. التقلب هو الرقم الوحيد الذي يخبرك بالمدى الذي يُرجَّح أن يقطعه سعر الصرف، وتعتمد عليه تقريبًا كل قرار عملي في أي نظام يتعامل مع سوق العملات: كم تبقى صلاحية عرض السعر، وما حجم الهامش الذي تضيفه إلى السعر، ومتى تتحوّط، ومتى تُطلق تنبيهًا.
الجانب المزعج أن معظم الشروحات حول حساب التقلب كُتبت للأسهم. فهي تفترض وجود سعر إغلاق يومي، وسنة تداول من 252 يومًا، وسعرًا واحدًا لا لبس فيه. وسوق الصرف الأجنبي لا تملك أيًّا من ذلك. فهي تتداول 24 ساعة يوميًا، خمسة أيام في الأسبوع، في سوق لامركزية خارج المقصورة بلا إغلاق رسمي، كما أن «سعر» EUR/USD يعتمد على الاتجاه الذي تقتبس به الزوج.
يستعرض هذا الدليل الرياضيات الفعلية، والمزالق الخاصة بسوق العملات، وكودًا عمليًا بلغتي Python وJavaScript يحسب التقلب المحقق من بيانات أسعار الصرف التاريخية.
لماذا يهم تقلب العملات الآن
سبتمبر 2026 لحظة مناسبة بشكل غير معتاد للتفكير في التقلب، لأن السوق أمضت معظم العام في وضع هادئ على نحو مريب، ثم توقفت عن الهدوء لفترة وجيزة.
خلال الصيف، كانت عملات الأسواق الناشئة أقل تقلبًا من عملات مجموعة السبع لما يقرب من 200 جلسة تداول متتالية، وهي سلسلة أشارت بلومبرغ إلى أنها ستكون الأطول منذ عام 2000 إذا استمرت. وحققت صفقات المناقلة الممولة بالدولار أطول سلسلة مكاسب لها منذ 2008، وذُكر أن سلة شهيرة ممولة باليورو من الريال البرازيلي والبيزو الكولومبي والليرة التركية ارتفعت نحو 19% منذ بداية العام، وهو أقوى أداء منذ 2005. واستراتيجيات المناقلة لا تنجح إلا في الأسواق الهادئة، لذا فإن أداءها بحد ذاته إشارة على التقلب.
ثم، في مطلع سبتمبر، قفز الين أكثر من 2% أمام الدولار في جلسة واحدة ليلامس 155.28، وهو أقوى مستوى له منذ أوائل أغسطس، مع تموضع المتداولين تحسبًا لمزيد من تدخلات وزارة المالية اليابانية. وجاء ذلك بعد تدخل أمريكي ياباني مشترك في 31 يوليو، وتدخلات قياسية من وزارة المالية بلغت 11.73 تريليون ين (نحو 73 مليار دولار) خلال أبريل ومايو بعد أن اخترق USD/JPY مستوى 160.
هذا التباين هو الدرس كله. متوسط التقلب كان منخفضًا. أما التقلب المحقق في يوم واحد بعينه فكان هائلًا. أي نظام يحدد هوامش العملات لديه بناءً على متوسط سنوي متحرك كان سيخطئ خطأً فادحًا في اليوم الذي يهم تحديدًا. وقياس التقلب بشكل صحيح ومستمر هو ما يمنع حدوث ذلك.
ما الذي يقيسه تقلب العملات فعليًا
التقلب هو الانحراف المعياري للعوائد، معبَّرًا عنه على أساس سنوي. وهو ليس تنبؤًا بالاتجاه، وليس حجم الحركة. إنه مقياس للتشتت: إلى أي مدى تتوزع العوائد اليومية لزوج العملات حول متوسطها.
هناك نوعان مهمان:
- التقلب المحقق (التاريخي) — يُحسب رجوعًا من الأسعار الفعلية المرصودة. وهذا ما يمكنك حسابه بنفسك من سلسلة زمنية، وهو موضوع هذا الدليل.
- التقلب الضمني — يُستخرج من أسعار خيارات العملات. وهو تقدير السوق الاستشرافي. لا يمكنك اشتقاقه من الأسعار الفورية، بل تحتاج إلى تغذية بيانات للخيارات.
بالنسبة لمعظم مطوري التطبيقات — التسعير، والفوترة، ولوحات الخزينة، وتنبيهات المخاطر — يكفي التقلب المحقق، وحسابه مجاني إن كانت لديك الأسعار التاريخية بالفعل.
حدس تقريبي للأرقام: الأزواج الرئيسية مثل EUR/USD تراوحت عادة بين 5–10% سنويًا في الفترات الهادئة، و10–15% في الفترات المضطربة. أما أزواج الأسواق الناشئة فتأتي عادة أعلى بمقدار ضعفين إلى ثلاثة أضعاف. وهذه النطاقات تتغير بمرور الوقت، وهو بالضبط سبب وجوب القياس بدل الافتراض.
المعادلة: العوائد اللوغاريتمية، الانحراف المعياري، التحويل السنوي
الحساب يتم في ثلاث خطوات.
الخطوة 1 — حوِّل الأسعار إلى عوائد لوغاريتمية.
r_t = ln(P_t / P_t-1)الخطوة 2 — خذ الانحراف المعياري لتلك العوائد على النافذة التي اخترتها (استخدم الانحراف المعياري للعينة، بالقسمة على n − 1).
الخطوة 3 — حوِّلها إلى أساس سنوي بالضرب في الجذر التربيعي لعدد المشاهدات في السنة.
annualised_volatility = stdev(r) * sqrt(N)وبتجميعها معًا:
σ_annual = stdev( ln(P_t / P_t-1) ) × √Nلماذا العوائد اللوغاريتمية بدل النسبة المئوية للتغير
التغير بالنسبة المئوية غير متماثل: الحركة من 1.10 إلى 1.20 تساوي +9.09%، لكن رحلة العودة من 1.20 إلى 1.10 تساوي −8.33%. والمفترض أن يكونا متساويين ومتعاكسين. والعوائد اللوغاريتمية كذلك فعلًا: ln(1.20/1.10) وln(1.10/1.20) لا يختلفان إلا في الإشارة.
وهذا يهم في سوق العملات أكثر بكثير مما يهم في الأسهم بسبب انعكاس التسعير. فزوجا EUR/USD وUSD/EUR يصفان السوق نفسها. وإذا حسبت التقلب بالتغيرات المئوية فستحصل على إجابتين مختلفتين قليلًا بحسب الاتجاه الذي اقتبست به الزوج، وهو أمر خاطئ بداهةً. أما العوائد اللوغاريتمية فمتماثلة تحت الانعكاس: ln(1/x) = −ln(x)، والانحراف المعياري يتجاهل الإشارة. الزوج نفسه، والتقلب نفسه، في أي اتجاه.
كما أن العوائد اللوغاريتمية تجميعية عبر الزمن، ما يجعل التجميع عبر عدة أيام أمرًا بسيطًا.
لماذا √N — وما قيمة N المناسبة لسوق العملات
يتناسب التقلب مع الجذر التربيعي للزمن لأن التباين يتناسب خطيًا مع الزمن (في ظل افتراض السير العشوائي القياسي). ولتحويل التقلب اليومي إلى سنوي، اضرب في √(days per year).
شروحات الأسهم تستخدم 252، وهو العدد التقريبي لأيام التداول في البورصات الأمريكية. وسوق العملات مختلفة. فالسوق تعمل بلا انقطاع من مساء الأحد إلى مساء الجمعة — أي نحو 260 جلسة في أيام الأسبوع سنويًا، ناقص حفنة من العطلات الضعيفة السيولة. ومعظم مزودي بيانات العملات ينشرون الأسعار في كل يوم عمل، بما في ذلك الأيام التي تكون فيها سوق بلد بعينه مغلقة.
القاعدة العملية: يجب أن تطابق N تواتر أخذ العينات في بياناتك، لا عرفًا مستعارًا من فئة أصول أخرى.
| تواتر البيانات | N (معامل التحويل السنوي) |
|---|---|
| يومي (أيام الأسبوع، عرف سوق العملات) | 260 |
| يومي (عرف الأسهم، 252 يومًا) | 252 |
| أسبوعي | 52 |
| شهري | 12 |
| كل ساعة (24×5) | ~6,240 |
الخطوة 1: احصل على بيانات أسعار صرف تاريخية نظيفة
التقلب لا يكون أفضل من السلسلة التي يقوم عليها. اسحب سلسلة يومية باستدعاء واحد لنقطة النهاية /v1/timeseries:
curl -G "https://api.finexly.com/v1/timeseries" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d base=EUR \
-d symbols=USD,JPY,GBP \
-d start_date=2026-06-08 \
-d end_date=2026-09-05الاستجابة عبارة عن خريطة مفاتيحها التواريخ:
{
"success": true,
"base": "EUR",
"start_date": "2026-06-08",
"end_date": "2026-09-05",
"rates": {
"2026-06-08": { "USD": 1.1421, "JPY": 178.62, "GBP": 0.8447 },
"2026-06-09": { "USD": 1.1408, "JPY": 178.94, "GBP": 0.8451 }
}
}طلب واحد، سلسلة واحدة، بلا حلقة ترقيم صفحات. المرجع الكامل للمعاملات موجود في توثيق Finexly API، والأنماط الأوسع للتعامل مع النطاقات الزمنية مشروحة في دليل واجهة أسعار الصرف التاريخية لدينا.
أربع مشكلات بيانات تنفرد بها سوق العملات
قبل أن تثق بالمخرجات، عالج هذه المشكلات. لا تظهر أي منها في شرح لتقلب الأسهم، وكلها الأربع ستشوّه رقمك.
1. لا يوجد إغلاق رسمي. سوق العملات لامركزية، ولا أحد يقرع الجرس. فالمزودون المختلفون يأخذون اللقطة في لحظات مختلفة — 22:00 بتوقيت UTC، أو منتصف الليل بتوقيت UTC، أو تثبيت البنك المركزي الأوروبي المرجعي عند 14:15 بتوقيت وسط أوروبا، أو تثبيت لندن WM/Reuters عند الرابعة عصرًا. وخلط أوقات اللقطات داخل سلسلة واحدة يُدخل تباينًا مصطنعًا. اختر عرفًا واحدًا ولا تخلط أبدًا. وإن لم تكن متأكدًا مما يفعله مزودك، فإن شرحنا حول من أين تحصل واجهات أسعار الصرف على بياناتها نقطة انطلاق جيدة.
2. عطلات نهاية الأسبوع والفجوات. تغلق السوق مساء الجمعة وتُفتح مساء الأحد. وعائد الجمعة→الاثنين يغطي نحو 65 ساعة من الزمن التقويمي، لكنه يُعامل كـ«يوم» واحد في أي حساب ساذج. ويقبل معظم الممارسين بذلك ويحوّلون إلى أساس سنوي بعدد أيام الأسبوع — وهو النهج المعياري — لكن عليك الالتزام بالاتساق. لا تملأ أسعار عطلة نهاية الأسبوع بالتكرار من اليوم السابق؛ فسلسلة من القيم المتطابقة ستسحب انحرافك المعياري إلى الأسفل بشكل مصطنع.
3. عدم تماثل عملة الأساس. كما ذُكر أعلاه، تحل العوائد اللوغاريتمية مشكلة الانعكاس رياضيًا. لكن يبقى عليك أن تقرر بأي عملة أساس تقيس المخاطر. فتقلب انكشافك بالدولار مقيسًا باليورو سؤال تجاري مختلف عن الزوج نفسه مقيسًا بالدولار، حتى وإن خرج الرقم متطابقًا. كن صريحًا بشأن عملة القياس.
4. أسعار التقاطع المثلثية. إذا كان مزودك يشتق، مثلًا، SEK/NOK بقسمة SEK/USD على NOK/USD، فإن النتيجة ترث الضجيج من الساقين معًا ومن أي تفاوت زمني بينهما. وقد تُظهر التقاطعات الاصطناعية تقلبًا أعلى بشكل ملموس من السوق المسعّرة مباشرة. ويشرح دليلنا حول أسعار الصرف التقاطعية متى يكون التثليث آمنًا ومتى لا يكون.
وانتبه أيضًا إلى الدقة العشرية. فاقتطاع أزواج JPY إلى منزلتين عشريتين قبل حساب العوائد يحوّل الحركات الصغيرة إلى أصفار ويحيّز التقلب نحو الأسفل — راجع تقريب العملات والمنازل العشرية للاطلاع على القاعدة العامة. خزّن الدقة الكاملة، وقرّب عند العرض فقط.
الخطوة 2: حساب التقلب المحقق بلغة Python
إليك تنفيذًا كاملًا بأقل قدر من الاعتماديات. يستخدم requests والمكتبة القياسية — دون حاجة إلى pandas.
import math
import statistics
import requests
FX_DAYS_PER_YEAR = 260 # weekday sessions; use 252 for the equity convention
def fetch_series(base, symbol, start, end, api_key):
url = "https://api.finexly.com/v1/timeseries"
params = {
"base": base,
"symbols": symbol,
"start_date": start,
"end_date": end,
}
headers = {"Authorization": "Bearer " + api_key}
response = requests.get(url, params=params, headers=headers, timeout=10)
response.raise_for_status()
return response.json()["rates"]
def log_returns(rates, symbol):
"""Ordered log returns from a date-keyed rates map."""
dates = sorted(rates.keys())
series = [rates[d][symbol] for d in dates]
return [
math.log(series[i] / series[i - 1])
for i in range(1, len(series))
if series[i] > 0 and series[i - 1] > 0
]
def annualised_volatility(returns, periods_per_year=FX_DAYS_PER_YEAR):
if len(returns) < 2:
raise ValueError("need at least two returns")
return statistics.stdev(returns) * math.sqrt(periods_per_year)
rates = fetch_series("EUR", "USD", "2026-06-08", "2026-09-05", "YOUR_API_KEY")
returns = log_returns(rates, "USD")
vol = annualised_volatility(returns)
print("Observations: {}".format(len(returns)))
print("Daily volatility: {:.4%}".format(vol / math.sqrt(FX_DAYS_PER_YEAR)))
print("Annual volatility: {:.2%}".format(vol))statistics.stdev هو الانحراف المعياري للعينة (المقام n − 1)، وهو المطلوب. وإن انتقلت إلى NumPy، فتذكّر أن numpy.std يستخدم افتراضيًا نسخة المجتمع الإحصائي — مرّر ddof=1 للمطابقة.
حارسان يستحقان البقاء في كود الإنتاج: تخطَّ الأسعار غير الموجبة قبل أخذ اللوغاريتم، وارفض إرجاع رقم من نافذة لا تحوي مشاهدات كافية. فتقلب 30 يومًا محسوبًا من تسع نقاط بيانات ليس تقلب 30 يومًا.
الخطوة 3: الحساب نفسه بلغة JavaScript
لا حاجة إلى مكتبة عددية هنا أيضًا.
const FX_DAYS_PER_YEAR = 260;
async function fetchSeries(base, symbol, start, end, apiKey) {
const url = new URL('https://api.finexly.com/v1/timeseries');
url.searchParams.set('base', base);
url.searchParams.set('symbols', symbol);
url.searchParams.set('start_date', start);
url.searchParams.set('end_date', end);
const res = await fetch(url, {
headers: { Authorization: `Bearer ${apiKey}` },
});
if (!res.ok) throw new Error(`Finexly returned ${res.status}`);
const body = await res.json();
return body.rates;
}
function logReturns(rates, symbol) {
const dates = Object.keys(rates).sort();
const series = dates.map((d) => rates[d][symbol]);
const out = [];
for (let i = 1; i < series.length; i += 1) {
if (series[i] > 0 && series[i - 1] > 0) {
out.push(Math.log(series[i] / series[i - 1]));
}
}
return out;
}
function annualisedVolatility(returns, periodsPerYear = FX_DAYS_PER_YEAR) {
if (returns.length < 2) throw new Error('need at least two returns');
const mean = returns.reduce((a, b) => a + b, 0) / returns.length;
const variance =
returns.reduce((acc, r) => acc + (r - mean) ** 2, 0) / (returns.length - 1);
return Math.sqrt(variance) * Math.sqrt(periodsPerYear);
}
const rates = await fetchSeries('EUR', 'USD', '2026-06-08', '2026-09-05', 'YOUR_API_KEY');
const vol = annualisedVolatility(logReturns(rates, 'USD'));
console.log(`Annualised volatility: ${(vol * 100).toFixed(2)}%`);لاحظ المقام (returns.length - 1) — وهو تصحيح تباين العينة نفسه الموجود في نسخة Python.
التقلب المتحرك ورصد تغير النظام السوقي
رقم واحد على نافذة ثابتة لا يخبرك تقريبًا بشيء عن متى اضطربت الأمور. أما التقلب المتحرك فيفعل، وهو النسخة التي تريدها فعلًا على لوحة المعلومات.
def rolling_volatility(rates, symbol, window=30,
periods_per_year=FX_DAYS_PER_YEAR):
dates = sorted(rates.keys())
series = [rates[d][symbol] for d in dates]
returns = [math.log(series[i] / series[i - 1]) for i in range(1, len(series))]
return_dates = dates[1:]
out = []
for i in range(window - 1, len(returns)):
chunk = returns[i - window + 1:i + 1]
out.append((
return_dates[i],
statistics.stdev(chunk) * math.sqrt(periods_per_year),
))
return out
for date, vol in rolling_volatility(rates, "USD", window=30)[-5:]:
print("{} {:.2%}".format(date, vol))اختيار النافذة مقايضة، وليس حقيقة مطلقة:
- 10 أيام — سريع الاستجابة جدًا، وكثير الضجيج جدًا. جيد للتنبيهات، سيئ للتسعير.
- 30 يومًا — الخيار الافتراضي الشائع. يتفاعل خلال جلسات قليلة دون أن يتذبذب بإفراط.
- 90 يومًا — سلس ومستقر. جيد لتحديد نسب التحوط وهوامش التسعير.
إشارة عملية على تغير النظام السوقي هي نسبة التقلب: اقسم تقلب 10 أيام على تقلب 90 يومًا. والقراءات المستمرة فوق 1.5 تقريبًا تعني أن التشتت قصير الأجل تجاوز خط الأساس الأطول بشكل ملموس. وبتطبيق ذلك على أزواج الين حول نوبات التدخل الموصوفة سابقًا، ترتفع تلك النسبة بقوة بينما يكاد رقم التسعين يومًا لا يتحرك — وهذا هو بيت القصيد. النوافذ الطويلة تخفي الأحداث، والقصيرة تكشفها.
إن كنت تخطط لتشغيل هذا باستمرار عبر أزواج كثيرة، فاقرأ أولًا ملاحظاتنا حول التخزين المؤقت ومعالجة الأخطاء لواجهات العملات. فالأسعار اليومية التاريخية ثابتة بعد نشرها، ومن ثم يمكن تخزينها مؤقتًا إلى ما لا نهاية — أعد حساب أحدث نافذة فقط بدلًا من إعادة جلب سنة من التاريخ مع كل تحميل للصفحة. وتوضح صفحة خطط الأسعار أحجام الطلبات عبر المستويات المختلفة.
تحويل رقم التقلب إلى قرار
حساب التقلب سهل. أما استخدامه فهو موضع القيمة. أربعة تطبيقات ملموسة:
- نوافذ صلاحية عرض السعر. السعر الذي تعرضه على العميل هو خيار قصير كتبته له. والانحراف المتوقع خلال فترة احتفاظ مدتها t يومًا يساوي تقريبًا
σ_annual × √(t / 260). فعند تقلب سنوي 8%، يحمل عرض سعر لمدة 24 ساعة نحو 0.5% من الانحراف المتوقع؛ وعند 20% يقترب من 1.2%. قصّر مدة الصلاحية عند ارتفاع التقلب بدل استخدام 15 دقيقة ثابتة إلى الأبد.
- هوامش التسعير. بدلًا من تثبيت هامش صرف بنسبة 2%، قِس الهامش تدريجيًا:
buffer = k × σ_annual × √(settlement_days / 260). يتسع الهامش تلقائيًا في الأوضاع المضطربة ويضيق حين تهدأ الأسواق، ما يبقيك تنافسيًا دون تحمل مخاطر خفية.
- محفزات التحوط. الانكشاف وحده ليس مخاطرة؛ المخاطرة هي الانكشاف مضروبًا في التقلب. فانكشاف بمليوني دولار على زوج تقلبه 4% مشكلة أصغر من 400 ألف دولار على زوج تقلبه 30%. رتّب قرارات التحوط حسب
exposure × σ، لا حسب القيمة الاسمية. ويغطي دليلنا حول التحوط من مخاطر العملات الأدوات المتاحة، بينما يخبرك رقم التقلب بما يستحق التحوط.
- كشف الشذوذ. حوّل كل حركة يومية جديدة إلى درجة معيارية مقابل الانحراف المعياري للثلاثين يومًا السابقة، ونبّه عند تجاوز ±3. وهذا يلتقط الأحداث السوقية الحقيقية والبيانات الرديئة على حد سواء — فالتغذية القديمة أو التقاطع المثلثي الخاطئ عادةً ما يعلن عن نفسه كقيمة شاذة غير معقولة قبل أن يلاحظها أحد في تقرير.
وللتعبير عن هذه الحركات بوحدات مألوفة للمتداولين بدل النسب المئوية، اطّلع على ما هي النقطة (pip).
أخطاء شائعة
- استخدام التغير بالنسبة المئوية بدل العوائد اللوغاريتمية. يُدخل عدم تماثل ويجعل إجابتك تعتمد على اتجاه التسعير.
- استخدام الانحراف المعياري للمجتمع الإحصائي. فـ
numpy.std()بدونddof=1يقلل من تقدير التقلب، وبشدة على النوافذ القصيرة. - ملء عطلات نهاية الأسبوع والأعياد بالتكرار. القيم المكررة أيام بعائد صفري تسحب التقلب إلى الأسفل آليًا.
- التحويل السنوي بقيمة N خاطئة. البيانات الأسبوعية المحوّلة بالرقم 260 بدل 52 تنتج رقمًا أكبر بنحو 2.2 مرة.
- مقارنة تقلبات محسوبة من أوقات لقطات مختلفة. مزودان، ووقتا تثبيت، ورقمان غير قابلين للمقارنة.
- نشر رقم سنوي واحد واعتباره قياسًا للمخاطر. التقلب يتجمع في عناقيد. فالشهور الهادئة والأسابيع العنيفة تتوسط إلى رقم وسطي لا يصف أيًّا منهما. انشر دائمًا سلسلة متحركة إلى جانب القيمة الرئيسية.
- افتراض أن التقلب المنخفض يعني مخاطر منخفضة. فالأوضاع الهادئة الملائمة لصفقات المناقلة في 2026 ظلت هادئة تمامًا حتى حرّكت عناوين التدخل الين بنسبة 2% في جلسة واحدة. التقلب المحقق المنخفض وصف للماضي القريب، لا وعد بشأن الأسبوع المقبل.
الأسئلة الشائعة
ما المستوى الطبيعي للتقلب في زوج عملات؟
الأزواج الرئيسية مثل EUR/USD وGBP/USD تراوحت تاريخيًا بين 5–10% سنويًا في الظروف الهادئة، و10–15% تحت الضغط. أما أزواج الأسواق الناشئة فأعلى عادة بمقدار ضعفين إلى ثلاثة أضعاف. وبدل الاعتماد على قواعد تقريبية، احسب تقلبًا متحركًا لتسعين يومًا للأزواج التي تهمك واستخدم خط أساسك الخاص — فالمستويات تتغير مع تغير النظام السوقي.
هل أستخدم 252 أم 260 يوم تداول للتحويل السنوي لتقلب العملات؟
الرقم 260 أنسب، لأن سوق العملات تتداول كل يوم من أيام الأسبوع بدل اتباع تقويم بورصة واحدة. أما 252 فهو عرف الأسهم ويُستخدم على نطاق واسع رغم ذلك. والفارق نحو 1.6% نسبيًا، لذا فالمهم أن تختار واحدًا وتوثقه وتطبقه باتساق في كل مكان تقارن فيه الأرقام.
هل يمكنني حساب التقلب الضمني من واجهة برمجة تطبيقات لأسعار الصرف؟
لا. فالتقلب الضمني يُستخرج من أسعار خيارات العملات ويتطلب تغذية بيانات للخيارات. أما ما يمكنك حسابه من سلسلة أسعار فورية أو تاريخية فهو التقلب المحقق. وللتسعير وعتبات التحوط والتنبيه داخل كود التطبيقات، يكون التقلب المحقق عادةً المقياس المناسب.
كم أحتاج من البيانات التاريخية؟
كحد أدنى، مشاهدة واحدة أكثر من طول نافذتك — لكن ذلك يعطي تقديرًا غير مستقر. وكحد عملي، استخدم 30 مشاهدة لنافذة 30 يومًا، واسحب سنة من التاريخ على الأقل كي تتمكن من مقارنة القراءة الحالية بخط أساس أطول. وتُرجع نقطة النهاية /v1/timeseries أي نطاق زمني في طلب واحد.
لماذا يختلف رقم التقلب لديّ عن رقم مزود البيانات؟
السبب غالبًا واحد من أربعة: معامل تحويل سنوي مختلف (252 مقابل 260)، أو انحراف معياري للمجتمع بدل العينة، أو وقت لقطة مختلف للسعر اليومي، أو عوائد بسيطة بدل لوغاريتمية. تحقق من هذه الأربعة قبل أن تفترض أن البيانات خاطئة.
هل يتنبأ التقلب باتجاه حركة العملة؟
لا. فالتقلب يقيس التشتت لا الاتجاه. والزوج الذي يبلغ تقلبه السنوي 20% يُتوقع أن يتحرك كثيرًا، لكن الحساب لا يقول شيئًا عما إذا كان سيتحرك صعودًا أم هبوطًا. استخدمه لتحديد حجم المخاطر، لا لاتخاذ موقف اتجاهي.
جاهز لحساب التقلب على بيانات حية؟ احصل على مفتاح Finexly API المجاني — بدون بطاقة ائتمان. تحصل على وصول إلى الأسعار الفورية والتاريخية لأكثر من 170 عملة، مع 1000 طلب مجاني شهريًا، ونقطة نهاية /v1/timeseries تُرجع نطاقًا زمنيًا كاملًا في استدعاء واحد. ابدأ بـواجهة أسعار الصرف المجانية وارتقِ بخطتك مع نمو احتياجاتك من البيانات.
Explore More
Vlado Grigirov
Senior Currency Markets Analyst & Financial Strategist
Vlado Grigirov is a senior currency markets analyst and financial strategist with over 14 years of experience in foreign exchange markets, cross-border finance, and currency risk management. He has wo...
View full profile →