টাইমসেল ডেটা বিশ্লেষণ এবং টিক ডেটা পুনরুদ্ধার

লেখক:ভাল, তৈরিঃ 2019-08-08 10:05:45, আপডেটঃ 2024-12-19 00:24:00

时间序列数据分析与Tick数据回测

সময়সূচী তথ্য

টাইম সিক্রেড হ'ল ধারাবাহিকভাবে সমান সময়ের ব্যবধানে প্রাপ্ত ডেটা সিক্রেড। পরিমাণগত বিনিয়োগে, এই ডেটা মূলত দাম এবং ট্র্যাক করা বিনিয়োগের ট্যাগের ডেটা পয়েন্টগুলির গতিতে প্রদর্শিত হয়। উদাহরণস্বরূপ, স্টক মূল্য, নির্দিষ্ট সময়ের মধ্যে নিয়মিত রেকর্ড করা টাইম সিক্রেড ডেটা, পাঠককে আরও স্পষ্ট বোঝার জন্য নিম্নলিখিত চিত্রটি দেখতে পারেনঃ

时间序列数据分析与Tick数据回测

আপনি দেখতে পাচ্ছেন যে তারিখটি x অক্ষের উপর এবং দামটি y অক্ষের উপর প্রদর্শিত হয়। এই ক্ষেত্রে, ক্রমাগত সময়সীমার ক্রমাগত ক্রমাগত ক্রমাগত ক্রমাগত ক্রমাগত x অক্ষের মধ্যে 14 দিনের ব্যবধানের অর্থঃ 7 মার্চ 2005 এবং পরবর্তী বিন্দু, 31 মার্চ 2005, 5 এপ্রিল 2005 এবং 19 এপ্রিল 2005 এর মধ্যে পার্থক্য লক্ষ্য করুন।

যাইহোক, আপনি যখন সময়সীমার ডেটা ব্যবহার করেন তখন আপনি প্রায়শই দেখতে পাবেন যে এটি কেবলমাত্র তারিখ এবং মূল্যের দুটি কলাম ধারণ করে এমন ডেটা নয়। বেশিরভাগ ক্ষেত্রে, আপনি পাঁচটি কলাম ধারণকারী ডেটা ব্যবহার করবেনঃ ডেটা চক্র, খোলার মূল্য, সর্বোচ্চ মূল্য, সর্বনিম্ন মূল্য এবং বন্ধের মূল্য। এর অর্থ হল যে যদি আপনার ডেটা চক্রটি দিবালোক স্তরে সেট করা থাকে তবে দিনের উচ্চ, খোলা, নিম্ন এবং বন্ধের দামের পরিবর্তনগুলি এই সময়সীমার ডেটাতে প্রতিক্রিয়া জানায়।

টিক ডেটা কি?

টিক ডেটা হ'ল এক্সচেঞ্জের সবচেয়ে বিস্তারিত লেনদেনের ডেটা কাঠামো। এটি উপরে উল্লিখিত সময়কালের ডেটাগুলির একটি বর্ধিত রূপ, যার মধ্যে রয়েছেঃ খোলার মূল্য, সর্বোচ্চ মূল্য, সর্বনিম্ন মূল্য, সর্বশেষ মূল্য, সঞ্চালিত পরিমাণ, সঞ্চালিত পরিমাণ। যদি লেনদেনের ডেটাকে একটি নদীর সাথে তুলনা করা হয় তবে টিক ডেটা হ'ল নদীর একটি ক্রস-সেকশন ডেটা।

时间序列数据分析与Tick数据回测

উপরের চিত্র অনুযায়ী, দেশীয় বিজনেস এক্সচেঞ্জের প্রতিটি পদক্ষেপকে রিয়েল-টাইমে বাজারে প্রেরণ করা হয়; তবে দেশীয় এক্সচেঞ্জগুলি প্রতি সেকেন্ডে দুবার পরীক্ষা করে, যদি এই সময়ের মধ্যে কোনও পদক্ষেপ হয় তবে একটি স্ন্যাপশট তৈরি করে এবং প্রেরণ করে। তুলনামূলকভাবে, ডেটা প্রেরণের পরিমাণটি কেবল অনটাইম হিসাবে গণনা করা যেতে পারে, অনটিক নামে নয়।

এই টিউটোরিয়ালের সমস্ত কোড এবং টাইমসেল ডেটা ইনভেন্টরদের পরিমাণগত প্ল্যাটফর্মে নেওয়া হয়েছে।

উদ্ভাবক দ্বারা পরিমাণযুক্ত টিক ডেটা

যদিও অভ্যন্তরীণ টিক ডেটা প্রকৃত অর্থে টিক নয়, তবে এই ডেটা ব্যবহার করে পুনরায় পরীক্ষা করা যায়, যা অন্তত অসীমভাবে কাছাকাছি এবং বাস্তবতার পুনরুদ্ধার করে। প্রতিটি টিক সেই সময়ে বাজারে পণ্যটির প্রধান পরামিতিগুলি দেখায় এবং বাস্তব ডাইরেক্টের মধ্যে আমাদের কোডটি অনুসরণ করে যা তত্ত্ব অনুসারে প্রতি সেকেন্ডে 2 টি টিক গণনা করা হয়।

时间序列数据分析与Tick数据回测

শুধু তাই নয়, উদ্ভাবকের পরিমাণে ১ ঘন্টার চক্রের ডেটা লোড করা হলেও ডেটা গ্রানুলাইজেশন এখনও সামঞ্জস্য করা যায়, যেমন ডেটা গ্রানুলাইজেশনকে ১ মিনিটে সামঞ্জস্য করা। এই মুহুর্তে ১ ঘন্টা কে লাইনটি ১ মিনিটের ডেটা নিয়ে গঠিত। অবশ্যই, গ্রানুলাইজেশন যত ছোট, তত উচ্চতর নির্ভুলতা। আরও শক্তিশালী, যদি ডেটাটিকে বাস্তব ডিস্ক-স্তরের টিকগুলিতে রূপান্তরিত করা হয় তবে এটি নির্বিঘ্নে বাস্তব ডিস্ক পরিবেশকে পুনরুদ্ধার করতে পারে। অর্থাৎ ১ সেকেন্ডে ২ টি টিক এক্সচেঞ্জের সত্যিকারের ডেটা।

时间序列数据分析与Tick数据回测

এখন, আপনি এই টিউটোরিয়ালটি সম্পূর্ণ করার জন্য প্রয়োজনীয় মৌলিক ধারণাগুলি বুঝতে পেরেছেন। এই ধারণাগুলি শীঘ্রই ফিরে আসবে এবং আপনি এই টিউটোরিয়ালের পরবর্তী অংশে আরও সম্পর্কিত ধারণাগুলি শিখবেন।

এই অংশের বিষয়বস্তু সম্পর্কে আগ্রহী বন্ধুরা দয়া করে লিখুনঃhttps://www.fmz.com/bbs-topic/1651আরও দেখুন

কাজের পরিবেশ তৈরি করা

কাজ ভাল করার জন্য, অবশ্যই, আমাদের প্রথমে উদ্ভাবককে পরিমাণযুক্ত প্ল্যাটফর্মের জন্য একটি ট্রাস্টার স্থাপন করতে হবে, এবং ট্রাস্টারগুলির ধারণা সম্পর্কে, প্রোগ্রামিংয়ের অভিজ্ঞ পাঠকরা এটিকে একটি আনুষ্ঠানিকভাবে প্যাকেজড ডকার সিস্টেমের মতো কল্পনা করতে পারেন, যা বিভিন্ন প্রধান এক্সচেঞ্জের পাবলিক এপিআই ইন্টারফেস এবং কৌশল লেখার এবং পুনরায় পরীক্ষার জন্য শাখার শেষের প্রযুক্তিগত বিবরণগুলি প্যাকেজ করেছে। এই সিস্টেমের প্রাথমিক উদ্দেশ্য হ'ল উদ্ভাবককে পরিমাণযুক্ত ব্যবসায়ীরা যখন উদ্ভাবককে পরিমাণযুক্ত প্ল্যাটফর্ম ব্যবহার করে তখন কৌশল লেখার এবং নকশার দিকে মনোনিবেশ করতে পারে, যা কৌশল লেখকদের কাছে তাদের সময় এবং প্রচেষ্টা সাশ্রয় করার জন্য প্যাকেজযুক্ত আকারে উপস্থাপন করা হয়।

  • ইনভেন্টর কোয়ালিফাইড প্ল্যাটফর্মের হোস্ট সিস্টেম স্থাপন

ট্রাস্টার দুটি উপায়ে স্থাপন করা যেতে পারে

A পদ্ধতিঃ ব্যবহারকারীরা তাদের নিজস্ব ভাড়া বা ক্রয় সার্ভার, AWS, আলি ক্লাউড, ডিজিটাল মহাসাগর এবং গুগল ক্লাউডের মতো বড় মেঘ প্ল্যাটফর্মগুলিতে স্থাপন করে। সুবিধাটি হ'ল কৌশলগত সুরক্ষা বা সিস্টেম সুরক্ষা উভয়ই নিশ্চিত। উদ্ভাবকদের জন্য, প্ল্যাটফর্মের পরিমাণে ব্যবহারকারীদের এই পদ্ধতিটি ব্যবহার করতে উত্সাহিত করা হয়, যেমন একটি বিতরণ স্থাপনার মাধ্যমে সার্ভারগুলি আক্রমণ থেকে রক্ষা পায় ((ক্লায়েন্ট বা প্ল্যাটফর্ম নিজেই) ।

এই অংশ সম্পর্কে, পাঠকগণ নিম্নলিখিত বিষয়গুলি পড়তে পারেনঃhttps://www.fmz.com/bbs-topic/2848

বি পদ্ধতিঃ ইনভেন্টর কোয়ালিফাইড প্ল্যাটফর্ম ব্যবহার করে পাবলিক সার্ভার স্থাপনার জন্য, প্ল্যাটফর্মটি হংকং, লন্ডন এবং হ্যাংজ়ৌতে তিনটি স্থান সরবরাহ করে, ব্যবহারকারীরা যে এক্সচেঞ্জের সাথে ট্রেড করতে চান তার অবস্থানের উপর নির্ভর করে নিকটতম নীতি অনুসারে স্থাপন করতে পারেন। এই ক্ষেত্রে সুবিধাটি সহজ, সহজ, এক বোতাম সম্পন্ন, বিশেষত শিক্ষানবিস ব্যবহারকারীদের জন্য উপযুক্ত, লিনাক্স সার্ভার কেনার সময় অনেকগুলি বিষয় বোঝার প্রয়োজন নেই, লিনাক্স কমান্ড শিখতে সময় এবং শক্তিও সাশ্রয় করে, দামও তুলনামূলকভাবে সস্তা।

时间序列数据分析与Tick数据回测

এই নিবন্ধে, আমরা B পদ্ধতি ব্যবহার করব, যাতে আপনি বুঝতে পারেন।

具体操作为:登陆FMZ.COM,点击控制中心,托管者,在托管者页面点击一键租用托管者。

পাসওয়ার্ডটি প্রবেশ করানো হয়েছে এবং সফলভাবে মোতায়েন করা হয়েছে।

时间序列数据分析与Tick数据回测

  • রোবোটিক সিস্টেমের ধারণাগুলি এবং ট্রাস্টিগুলির মধ্যে সম্পর্ক

যেমনটি উপরে বলা হয়েছে, একটি হোস্ট একটি ডকার সিস্টেমের মতো, এবং একটি ডকার সিস্টেম একটি স্ট্যান্ডার্ডের মতো, এবং আমরা এই স্ট্যান্ডার্ডটি স্থাপন করেছি, তারপরে এই স্ট্যান্ডার্ডটির জন্য একটি ক্যাবল ইনস্ট্যান্ট ক্যাবল তৈরি করতে হবে, যা একটি রোবট।

বট তৈরি করা খুব সহজ, ভাল হোস্ট স্থাপন করার পরে, বামদিকে বট টেবিলে ক্লিক করুন, বট তৈরি করুন ক্লিক করুন, ট্যাগের নামের মধ্যে একটি নাম পূরণ করুন, হোস্টের মধ্যে সবেমাত্র স্থাপন করা ভাল হোস্ট নির্বাচন করুন। নীচের ডায়লগ বাক্সের প্যারামিটার নির্বাচন এবং কে লাইন চক্রের মতো বিষয়গুলি নির্দিষ্ট পরিস্থিতিতে নির্বাচন করা যেতে পারে, মূলত ট্রেডিং কৌশল নির্বাচন করার জন্য।

时间序列数据分析与Tick数据回测

এখন পর্যন্ত, আমাদের কাজের পরিবেশটি তৈরি করা হয়েছে, এবং আপনি দেখতে পাচ্ছেন, এটি খুব সহজ এবং কার্যকর, প্রতিটি ফাংশন তার নিজস্ব কাজ করে।

পাইথন দিয়ে একটি সহজ সমতল কৌশল বাস্তবায়ন করুন

উপরে আমরা টাইম সিকোয়েন্স ডেটা এবং টিক ডেটার ধারণা উল্লেখ করেছি, তারপর আমরা একটি সহজ সমতল কৌশল ব্যবহার করে দুটি ধারণাকে সংযুক্ত করেছি।

  • সমতল কৌশলগুলির মূলনীতি

একটি ধীর-পরিবাহী গড় রেখা, যেমন 7 দিনের গড় রেখা, এবং একটি দ্রুত-পরিবাহী গড় রেখা, যেমন 3 দিনের গড় রেখা; একই K-রেখাচিত্রে তাদের প্রয়োগ করুন, যখন দ্রুত-পরিবাহী গড় রেখায় ধীর-পরিবাহী গড় রেখা অতিক্রম করা হয়, আমরা এটিকে সোনার ফর্ক বলি; যখন ধীর-পরিবাহী গড় রেখার নীচে দ্রুত-পরিবাহী গড় রেখা অতিক্রম করা হয়, আমরা এটিকে মৃত ফর্ক বলি।

খোলার ভিত্তি হল সোনার ফর্ক খোলার একাধিক একক, মৃত ফর্ক খোলার খালি একক, সমতুল্য ব্যবসায়ের একই নীতি।

让我们打开FMZ.COM,登陆账号,控制中心,策略库,新建策略,在左上角策略编写语言中,选择Python。以下是这个策略的代码,每一行都有非常详细的注释,请各位读者慢慢体会。此策略非实盘策略,切勿用真钱进行实验,主要是让大家对策略编写又一个大致的概念和学习的模版。

import types # 导入Types模块库,这是为了应对代码中将要用到的各种数据类型

def main(): # 主函数,策略逻辑从这里开始
    STATE_IDLE = -1 # 标记持仓状态变量
    state = STATE_IDLE # 标记当前持仓状态
    initAccount = ext.GetAccount() #这里用到了现货数字货币交易类库(python版),编写策略时记得勾选上,作用是获得账户初始信息
    while True: # 进入循环
        if state == STATE_IDLE : # 这里开始开仓逻辑
            n = ext.Cross(FastPeriod,SlowPeriod) # 这里用到了指标交叉函数,详情请查看https://www.fmz.com/strategy/21104
            if abs(n) >= EnterPeriod : # 如果n大于等于入市观察期,这里的入市观察期是为了防止一开盘就胡乱开仓。
                opAmount = _N(initAccount.Stocks * PositionRatio,3) # 开仓量,关于_N的用法,请查看官方API文档
                Dict = ext.Buy(opAmount) if n > 0 else ext.Sell(opAmount) # 建立一个变量,用于存储开仓状态,并执行开仓操作
                if Dict :  # 查看dict变量的情况,为下面的日志输出做准备
                    opAmount = Dict['amount']
                    state = PD_LONG if n > 0 else PD_SHORT # PD_LONG和PD_SHORT均为全局常量,分别用来表示多头和空头仓位。
                    Log("开仓详情",Dict,"交叉周期",n) # 日志信息
        else: # 这里开始平仓逻辑
            n = ext.Cross(ExitFastPeriod,ExitSlowPeriod) # 指标交叉函数,
            if abs(n) >= ExitPeriod and ((state == PD_LONG and n < 0) or (state == PD_SHORT and n > 0)) : # 如果经过了离市观察期且当前账户状态为持仓状态,进而判断金叉或者死叉
                nowAccount = ext.GetAccount() # 再次刷新和获取账户信息
                Dict2 = ext.Sell(nowAccount.Stocks - initAccount.Stocks) if state == PD_LONG else ext.Buy(initAccount.Stocks - nowAccount.Stocks) # 平仓逻辑,是多头就平多头,是空头就平空头。
                state = STATE_IDLE # 标记平仓后持仓状态。
                nowAccount = ext.GetAccount() # 再次刷新和获取账户信息
                LogProfit(nowAccount.Balance - initAccount.Balance,'钱:',nowAccount.Balance,'币:',nowAccount.Stocks,'平仓详情:',Dict2,'交叉周期:',n) # 日志信息
        Sleep(Interval * 1000) # 循环暂停一秒,防止API访问频率过快导致账户被限制。

  • সমান্তরাল কৌশল পুনরায় পরীক্ষা

কৌশল সম্পাদনা পৃষ্ঠায়, আমরা কৌশলটি রচনা শেষ করেছি, এরপরে আমরা এই কৌশলটি কীভাবে historicalতিহাসিক শিল্পে সম্পাদন করেছি তা পর্যালোচনা করব, যে কোনও পরিমাণগত কৌশল বিকাশের ক্ষেত্রে পর্যালোচনা গুরুত্বপূর্ণ ভূমিকা পালন করে, তবে এটি কেবলমাত্র একটি গুরুত্বপূর্ণ রেফারেন্স হিসাবে কাজ করে। পর্যালোচনা লাভের নিশ্চয়তা দেয় না, কারণ বাজারটি ক্রমাগত পরিবর্তিত হয়, পর্যালোচনা কেবলমাত্র একটি পরবর্তীকালীন আচরণ, যা অনুবাদ বিভাগের অধীনে পড়ে, বাজারটি উদ্ভূত।

ক্লিক করুন অ্যালগরিদম রিভিউ, আপনি দেখতে পারেন যে অনেকগুলি পরামিতি রয়েছে যা সামঞ্জস্য করা যায়, যা সরাসরি ভিতরে পরিবর্তন করা যেতে পারে, পরবর্তী কৌশলগুলির জন্য আরও জটিল, আরও বেশি পরামিতি। এই পদ্ধতিতে পরিবর্তনগুলি ব্যবহারকারীদের কোডে পৃথক পরিবর্তনগুলির ঝামেলা এড়াতে সহায়তা করতে পারে, সুবিধাজনক, দ্রুত এবং পদ্ধতিগতভাবে পরিষ্কার।

时间序列数据分析与Tick数据回测

পটভূমিতে অপ্টিমাইজেশন বিকল্পগুলি স্বয়ংক্রিয়ভাবে সেট করা প্যারামিটারগুলিকে অনুকূল করে তোলে, সিস্টেমটি বিভিন্ন সেরা প্যারামিটারগুলির সাথে চেষ্টা করে, কৌশল বিকাশকারীদের সর্বোত্তম বিকল্পটি খুঁজে পেতে সহায়তা করে।

উপরোক্ত উদাহরণ থেকে আমরা দেখতে পাচ্ছি যে, পরিমাণগত লেনদেনের ভিত্তি হল টাইম সেরিজ ডেটা বিশ্লেষণ, এবং টিক ডেটা পুনরায় পরিমাপ ইন্টারঅ্যাকশনের মাধ্যমে সম্পন্ন, এবং জটিল যুক্তি, উভয়ই এই দুটি মৌলিক উপাদান থেকে পৃথক নয়। পার্থক্য মাত্র মাত্রার পার্থক্য, যেমন উচ্চ ফ্রিকোয়েন্সি লেনদেন, আরো বিস্তারিত তথ্য ছেদ, আরো সমৃদ্ধ সময় সেরিজ ডেটা প্রয়োজন। আবার উদাহরণস্বরূপ সুদ লেনদেন, পুনরায় পরীক্ষার নমুনার জন্য তথ্যের প্রয়োজনীয়তা তুলনামূলকভাবে বড়, সম্ভবত কিছু দুটি লেনদেনের জন্য কয়েক দশকের ধারাবাহিক গভীরতার তথ্য প্রয়োজন তাদের লাভ প্রসারিত এবং ক্ষুদ্র পার্থক্যের পরিসংখ্যান খুঁজে বের করতে। পরবর্তী নিবন্ধে আমি ধারাবাহিকভাবে উচ্চ ফ্রিকোয়েন্সি লেনদেন, এবং সুদ লেনদেনের কৌশলগুলি পরিচয় করিয়ে দেব।


সম্পর্কিত বিষয়বস্তু

আরও দেখুন