ابزارهای مفید برای محاسبه کارآمد هزینههای تراکنش از روی دادههای تیک

Summarize this content to 400 words in Persian Lang
محاسبه هزینه های تراکنش از داده های تیک اغلب شامل دو جدول است: تجارت و nbbo. از آنجایی که مُهرهای زمانی هر دو جدول در سطح نانوثانیه هستند، عملاً هیچ تطابق دقیقی بین مُهر زمانی دو جدول وجود ندارد.
بنابراین، برای محاسبه هزینههای معامله، باید آخرین مظنه را قبل از هر معامله (از همان سهام) تعیین کنیم. همچنین ممکن است لازم باشد میانگین قیمتها را در یک پنجره خاص نسبت به هر معامله محاسبه کنیم. این اتصالهای غیردقیق اغلب در تأمین مالی کوانتی استفاده میشوند، اما در اکثر پایگاههای داده پشتیبانی نمیشوند.
این بار DolphinDB در اختیار شما قرار می دهد asof ملحق شدن و پیوستن به پنجره برای این سناریوها
به مورد زیر دقت کنید!
داده های مورد استفاده در این مثال عبارتند از داده های فرکانس بالا از بورس نیویورک، متشکل از دو جدول تجارت و nbbo به ترتیب حاوی 27 میلیون و 78 میلیون رکورد. اسکریپت DolphinDB به شرح زیر است:
trade = loadTable(“dfs://EQY”, “trade”)
select count(*) from trade
nbbo = loadTable(“dfs://EQY”, “nbbo”)
select count(*) from nbbo
// asof join
timer TC1 = select sum(Trade_Volume*abs(Trade_Price-(Bid_Price+Offer_Price)/2))/sum(Trade_Volume*Trade_Price)*10000 as TC_aj from aj(trade,nbbo,`Symbol`Time) where Time between 09:30:00.000000000 : 15:59:59.999999999 group by symbol
// window join
timer TC2 = select sum(Trade_Volume*abs(Trade_Price-(Bid_Price+Offer_Price)/2))/sum(Trade_Volume*Trade_Price)*10000 as TC_wj from pwj(trade,nbbo,-100000000:0,,`Symbol`Time) where Time between 09:30:00.000000000 : 15:59:59.999999999 group by symbol
select * from ej(TC1,TC2,`symbol) where symbol in `AAPL`MS`EBAY
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
فقط یک خط اسکریپت می تواند منطق محاسباتی پیچیده را پیاده سازی کند.
// asof join
timer TC1 = select sum(Trade_Volume*abs(Trade_Price-(Bid_Price+Offer_Price)/2))/sum(Trade_Volume*Trade_Price)*10000 as TC_aj from aj(trade,nbbo,`Symbol`Time) where Time between 09:30:00.000000000 : 15:59:59.999999999 group by symbol
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
طول می کشد 339 میلی ثانیه برای تکمیل محاسبه هزینه های معامله با asof ملحق شدن، که بیشتر از 100 برابر سریعتر از محاسبه معادل در پانداهای پایتونو اسکریپت برای محاسبه با پیوستن به پنجره می گیرد 402 میلی ثانیه.
در حین محاسبه هزینه های تراکنش، DolphinDB عملکرد عالی با کد مختصر نشان می دهد. برای نمایش بصری عملیات پوشش داده شده در این مقاله، می توانید یک دقیقه این دمو را تماشا کنید!
https://youtu.be/2HfTRLDYUrY
محاسبه هزینه های تراکنش از داده های تیک اغلب شامل دو جدول است: تجارت و nbbo. از آنجایی که مُهرهای زمانی هر دو جدول در سطح نانوثانیه هستند، عملاً هیچ تطابق دقیقی بین مُهر زمانی دو جدول وجود ندارد.
بنابراین، برای محاسبه هزینههای معامله، باید آخرین مظنه را قبل از هر معامله (از همان سهام) تعیین کنیم. همچنین ممکن است لازم باشد میانگین قیمتها را در یک پنجره خاص نسبت به هر معامله محاسبه کنیم. این اتصالهای غیردقیق اغلب در تأمین مالی کوانتی استفاده میشوند، اما در اکثر پایگاههای داده پشتیبانی نمیشوند.
این بار DolphinDB در اختیار شما قرار می دهد asof ملحق شدن و پیوستن به پنجره برای این سناریوها
به مورد زیر دقت کنید!
داده های مورد استفاده در این مثال عبارتند از داده های فرکانس بالا از بورس نیویورک، متشکل از دو جدول تجارت و nbbo به ترتیب حاوی 27 میلیون و 78 میلیون رکورد. اسکریپت DolphinDB به شرح زیر است:
trade = loadTable("dfs://EQY", "trade")
select count(*) from trade
nbbo = loadTable("dfs://EQY", "nbbo")
select count(*) from nbbo
// asof join
timer TC1 = select sum(Trade_Volume*abs(Trade_Price-(Bid_Price+Offer_Price)/2))/sum(Trade_Volume*Trade_Price)*10000 as TC_aj from aj(trade,nbbo,`Symbol`Time) where Time between 09:30:00.000000000 : 15:59:59.999999999 group by symbol
// window join
timer TC2 = select sum(Trade_Volume*abs(Trade_Price-(Bid_Price+Offer_Price)/2))/sum(Trade_Volume*Trade_Price)*10000 as TC_wj from pwj(trade,nbbo,-100000000:0,,`Symbol`Time) where Time between 09:30:00.000000000 : 15:59:59.999999999 group by symbol
select * from ej(TC1,TC2,`symbol) where symbol in `AAPL`MS`EBAY
فقط یک خط اسکریپت می تواند منطق محاسباتی پیچیده را پیاده سازی کند.
// asof join
timer TC1 = select sum(Trade_Volume*abs(Trade_Price-(Bid_Price+Offer_Price)/2))/sum(Trade_Volume*Trade_Price)*10000 as TC_aj from aj(trade,nbbo,`Symbol`Time) where Time between 09:30:00.000000000 : 15:59:59.999999999 group by symbol
طول می کشد 339 میلی ثانیه برای تکمیل محاسبه هزینه های معامله با asof ملحق شدن، که بیشتر از 100 برابر سریعتر از محاسبه معادل در پانداهای پایتونو اسکریپت برای محاسبه با پیوستن به پنجره می گیرد 402 میلی ثانیه.
در حین محاسبه هزینه های تراکنش، DolphinDB عملکرد عالی با کد مختصر نشان می دهد. برای نمایش بصری عملیات پوشش داده شده در این مقاله، می توانید یک دقیقه این دمو را تماشا کنید!
https://youtu.be/2HfTRLDYUrY