রিসোর্স লোড হচ্ছে... লোডিং...

ডিজিটাল মুদ্রা বাজারের পরিমাণগত বিশ্লেষণ

লেখক:ভাল, তৈরিঃ 2019-08-16 10:37:23, আপডেটঃ 2023-10-19 21:04:20

img

একটি ডেটা-চালিত ডিজিটাল মুদ্রা স্পেকুলেশন বিশ্লেষণ পদ্ধতি

বিটকয়েনের দাম কেমন হবে? ডিজিটাল মুদ্রার দামের উঁচু ও নীচের কারণগুলি কী কী? বিভিন্ন কয়েনের বাজার মূল্যগুলি কি অবিচ্ছেদ্যভাবে সংযুক্ত বা মূলত স্বতন্ত্র? আমরা কীভাবে ভবিষ্যদ্বাণী করতে পারি যে এর পরে কী হবে?

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

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

img

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

প্রথম ধাপঃ আমাদের ডেটা কাজের পরিবেশ তৈরি করা

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

1.1 ইনভেন্টর কোয়ালিফাইড হোস্ট ইনস্টল করুন এবং Anaconda সেটআপ করুন

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

发明者量化平台FMZ.COM除了提供优质的各大主流交易所的数据源,还提供一套丰富的API接口以帮助我们在完成数据的分析后进行自动化交易。这套接口包括查询账户信息,查询各个主流交易所的高,开,低,收价格,成交量,各种常用技术分析指标等实用工具,特别是对于实际交易过程中连接各大主流交易所的公共API接口,提供了强大的技术支持。

উপরে উল্লিখিত সমস্ত বৈশিষ্ট্যগুলি একটি ডকার-এর মতো সিস্টেমে প্যাকেজ করা আছে, যা আমরা করতে পারি তা হ'ল আমাদের ক্লাউড কম্পিউটিং পরিষেবাটি কেনা বা ভাড়া নেওয়া এবং ডকার সিস্টেমটি স্থাপন করা।

এই ডকার সিস্টেমটি ইনভেন্টর কোয়ালিফাইং প্ল্যাটফর্মের অফিসিয়াল নামের মধ্যে হোস্ট সিস্টেম নামে পরিচিত।

আমি আমার পূর্ববর্তী নিবন্ধে লিখেছি কিভাবে হোস্ট এবং বট স্থাপন করতে হয়ঃhttps://www.fmz.com/bbs-topic/4140

যারা তাদের নিজস্ব ক্লাউড সার্ভার স্থাপনার জন্য হোস্ট কিনতে চান তাদের জন্য এই নিবন্ধটি পড়ুনঃhttps://www.fmz.com/bbs-topic/2848

একটি ভাল ক্লাউড সার্ভিস এবং হোস্ট সিস্টেম সফলভাবে স্থাপন করার পরে, আমরা এখন পাইথনের বৃহত্তম টেম্পলেট ইনস্টল করতে যাচ্ছিঃ আনাকন্ডা।

এই প্রবন্ধে প্রয়োজনীয় সকল প্রাসঙ্গিক প্রোগ্রামিং পরিবেশ (অনির্ভরতা পুস্তিকা, সংস্করণ ব্যবস্থাপনা ইত্যাদি) বাস্তবায়নের জন্য সবচেয়ে সহজ উপায় হল Anaconda ব্যবহার করা। এটি একটি প্যাকেজড পাইথন ডেটা সায়েন্স ইকোসিস্টেম এবং একটি নির্ভরতা পুস্তিকা ম্যানেজার।

যেহেতু আমরা Anaconda কে ক্লাউড সার্ভিসে ইনস্টল করছি, তাই আমরা ক্লাউড সার্ভারে লিনাক্স সিস্টেমে Anaconda এর কমান্ড লাইন সংস্করণ ইনস্টল করার পরামর্শ দিই।

Anaconda ইনস্টল করার জন্য, Anaconda এর অফিসিয়াল গাইড দেখুনঃhttps://www.anaconda.com/distribution/

যদি আপনি একজন অভিজ্ঞ পাইথন প্রোগ্রামার হন এবং Anaconda ব্যবহার করার প্রয়োজন বোধ করেন না, তাহলে এটি সম্পূর্ণ ঠিক আছে। আমি অনুমান করব যে আপনি প্রয়োজনীয় নির্ভরতা পরিবেশ ইনস্টল করার জন্য সাহায্যের প্রয়োজন নেই, আপনি সরাসরি দ্বিতীয় অংশে ঝাঁপিয়ে পড়তে পারেন।

1.2 একটি Anaconda ডেটা বিশ্লেষণ প্রকল্প পরিবেশ তৈরি করুন

Anaconda ইনস্টল করার পরে, আমাদের একটি নতুন পরিবেশ তৈরি করতে হবে যা আমাদের নির্ভরতা প্যাকগুলি পরিচালনা করবে।

conda create --name cryptocurrency-analysis python=3

আমাদের প্রকল্পের জন্য একটি নতুন অ্যানাকোন্ডা পরিবেশ তৈরি করতে।

পরবর্তী, ইনপুট করুন

source activate cryptocurrency-analysis (linux/MacOS操作)
或者
activate cryptocurrency-analysis (windows操作系统)

এই পরিবেশকে সক্রিয় করতে।

পরবর্তী, ইনপুটঃ

conda install numpy pandas nb_conda jupyter plotly

এই প্রকল্পটি ইনস্টল করার জন্য প্রয়োজনীয় সমস্ত নির্ভরতা প্যাকেজ।

নোটঃ কেন Anaconda পরিবেশ ব্যবহার করবেন? যদি আপনি আপনার কম্পিউটারে অনেকগুলি পাইথন প্রকল্প চালানোর পরিকল্পনা করেন, তবে সংঘাত এড়াতে বিভিন্ন প্রকল্পের নির্ভরতা প্যাকেজগুলি (সফ্টওয়্যার লাইব্রেরি এবং প্যাকেজ) আলাদা করা সহায়ক।

1.3 একটি জুপিটার নোটবুক তৈরি করুন

পরিবেশ এবং নির্ভরতা প্যাকগুলি ইনস্টল হয়ে গেলে, এটি চালানো হবে

jupyter notebook

আপনার ব্রাউজারে HTTP:// এ যানlocalhost:8888/একটি নতুন পাইথন নোটবুক তৈরি করুন এবং এটি ব্যবহার করে তা নিশ্চিত করুনঃ

Python [conda env:cryptocurrency-analysis]

নিউক্লিয়াস

img

১.৪ নির্ভরতা প্যাকেজ আমদানি

একটি নতুন, ফাঁকা জুপিটার নোটবুক তৈরি করুন, এবং তারপরে আমাদের প্রথম কাজটি হ'ল প্রয়োজনীয় নির্ভরতা প্যাকেজগুলি আমদানি করা।

import os
import numpy as np
import pandas as pd
import pickle
from datetime import datetime

আমরা Plotly ইনপুট করতে হবে এবং অফলাইন মোড চালু করতে হবে।

import plotly.offline as py
import plotly.graph_objs as go
import plotly.figure_factory as ff
py.init_notebook_mode(connected=True)

দ্বিতীয় ধাপঃ ডিজিটাল মুদ্রার দামের তথ্য পান

প্রস্তুতি সম্পন্ন, এখন আমরা বিশ্লেষণের জন্য ডেটা পেতে শুরু করতে পারি। প্রথমত, আমরা উদ্ভাবকের প্ল্যাটফর্মের API-এর মাধ্যমে বিটকয়েনের দামের ডেটা পেতে চাই।

এটি GetTicker ফাংশন ব্যবহার করবে, এই দুটি ফাংশন সম্পর্কে বিস্তারিত জানার জন্য দেখুনঃhttps://www.fmz.com/api

২.১ কোয়ান্ডল ডেটা সংগ্রহ ফাংশন লিখুন

ডাটা পাওয়ার জন্য, আমরা একটি ফাংশন লিখেছিলাম যা কান্দল থেকে ডাউনলোড এবং সিঙ্ক করতে পারে।quandl.com) এর ডেটা । এটি একটি ফ্রি ফিনান্সিয়াল ডেটা ইন্টারফেস, যা বিদেশে খুব জনপ্রিয় । উদ্ভাবক পরিমাণগত প্ল্যাটফর্মগুলিও অনুরূপ ডেটা ইন্টারফেস সরবরাহ করে, যা মূলত বাস্তব ব্যবসায়ের সময় ব্যবহৃত হয়।

লাইভ ট্রেডিংয়ের সময়, পাইথনে সরাসরি GetTicker এবং GetRecords ফাংশনগুলি কল করে দামের তথ্য পেতে পারেন। তাদের ব্যবহার সম্পর্কে দেখুনঃhttps://www.fmz.com/api

def get_quandl_data(quandl_id):
    # 下载和缓冲来自Quandl的数据列
    cache_path = '{}.pkl'.format(quandl_id).replace('/','-')
    try:
        f = open(cache_path, 'rb')
        df = pickle.load(f)   
        print('Loaded {} from cache'.format(quandl_id))
    except (OSError, IOError) as e:
        print('Downloading {} from Quandl'.format(quandl_id))
        df = quandl.get(quandl_id, returns="pandas")
        df.to_pickle(cache_path)
        print('Cached {} at {}'.format(quandl_id, cache_path))
    return df

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

২.২ ক্রাকেন এক্সচেঞ্জের ডিজিটাল মুদ্রার দামের তথ্য পান

আমরা ক্রাকেন বিটকয়েন এক্সচেঞ্জের উদাহরণ দিয়ে শুরু করি, যেখানে এটি প্রাপ্ত বিটকয়েনের দাম থেকে শুরু হয়।

# 获取Kraken比特币交易所的价格
btc_usd_price_kraken = get_quandl_data('BCHARTS/KRAKENUSD')

head () পদ্ধতি ব্যবহার করে ডেটা বক্সের প্রথম পাঁচটি লাইন দেখুন।

btc_usd_price_kraken.head()

এর ফলস্বরূপঃ

বিটিসি খোলা উচ্চ কম বন্ধ করুন ভলিউম (বিটিসি) আয়তন (মুদ্রা) ওজনযুক্ত মূল্য
2014-01-07 874.67040 892.06753 810.00000 810.00000 15.622378 13151.472844 841.835522
2014-01-08 810.00000 899.84281 788.00000 824.98287 19.182756 16097.329584 839.156269
2014-01-09 825.56345 870.00000 807.42084 841.86934 8.158335 6784.249982 831.572913
2014-01-10 839.99000 857.34056 817.00000 857.33056 8.024510 6780.220188 844.938794
2014-01-11 858.20000 918.05471 857.16554 899.84105 18.748285 16698.566929 890.671709

পরবর্তী ধাপে, আমরা একটি সহজ টেবিল তৈরি করব যা ভিজ্যুয়ালাইজেশন পদ্ধতির মাধ্যমে তথ্যের সঠিকতা যাচাই করবে।

# 做出BTC价格的表格
btc_trace = go.Scatter(x=btc_usd_price_kraken.index, y=btc_usd_price_kraken['Weighted Price'])
py.iplot([btc_trace])

img

这里,我们用Plotly来完成可视化部分。相对于使用一些更成熟的Python数据可视化库,比如Matplotlib,用Plotly是一个不那么普遍的选择,但Plotly确实是一个不错的选择,因为它可以调用D3.js的充分交互式图表。这些图表有非常漂亮的默认设置,易于探索,而且非常方便嵌入到网页中。

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

2.3 মূলধারার বিটকয়েন এক্সচেঞ্জ থেকে মূল্যের তথ্য সংগ্রহ করুন

নিবিড় পাঠক হয়তো লক্ষ্য করেছেন যে, উপরের তথ্যগুলোতে কিছু তথ্যের অভাব রয়েছে, বিশেষ করে ২০১৪ সালের শেষ এবং ২০১৬ সালের শুরুর দিকে। বিশেষ করে ক্রাকেন এক্সচেঞ্জে এই তথ্যের অভাব বিশেষভাবে স্পষ্ট। আমরা অবশ্যই চাই না যে এই অভাবের তথ্যগুলি মূল্য বিশ্লেষণকে প্রভাবিত করে।

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

আসুন শুরু করা যাক, প্রথমে প্রতিটি এক্সচেঞ্জের ডেটা ডাউনলোড করে একটি ডেটা প্যাকেজ তৈরি করা যাক যা অভিধানের ধরন নিয়ে গঠিত।

# 下载COINBASE,BITSTAMP和ITBIT的价格数据
exchanges = ['COINBASE','BITSTAMP','ITBIT']

exchange_data = {}

exchange_data['KRAKEN'] = btc_usd_price_kraken

for exchange in exchanges:
    exchange_code = 'BCHARTS/{}USD'.format(exchange)
    btc_exchange_df = get_quandl_data(exchange_code)
    exchange_data[exchange] = btc_exchange_df

2.4 সমস্ত ডেটা এক ডাটা প্যাকে সংহত করুন

পরবর্তী ধাপে, আমরা একটি বিশেষ ফাংশন সংজ্ঞায়িত করতে যাচ্ছি যা বিভিন্ন ডেটা স্ট্রিংয়ের মধ্যে ভাগ করা কলামগুলিকে একটি নতুন ডেটা স্ট্রিংয়ে একত্রিত করে। আসুন আমরা এটিকে merge_dfs_on_column ফাংশন বলি।

def merge_dfs_on_column(dataframes, labels, col):
    '''Merge a single column of each dataframe into a new combined dataframe'''
    series_dict = {}
    for index in range(len(dataframes)):
        series_dict[labels[index]] = dataframes[index][col]
        
    return pd.DataFrame(series_dict)

এখন, প্রতিটি ডেটাসেটের উপর ভিত্তি করে, সমস্ত ডেটাসেটকে একত্রিত করা হয়েছে।

# 整合所有数据帧
btc_usd_datasets = merge_dfs_on_column(list(exchange_data.values()), list(exchange_data.keys()), 'Weighted Price')

অবশেষে, আমরা টেমপ্লেটটি সঠিক এবং সম্পূর্ণ কিনা তা নিশ্চিত করতে টেমপ্লেটটির শেষ পাঁচটি সারি পরীক্ষা করার জন্য টেমপ্লেটটি টেমপ্লেটটি ব্যবহার করি।

btc_usd_datasets.tail()

ফলাফলঃ

বিটিসি বিটস্ট্যাম্প কয়েনবেস আইটিবিআইটি ক্রেকেন
2017-08-14 4210.154943 4213.332106 4207.366696 4213.257519
2017-08-15 4101.447155 4131.606897 4127.036871 4149.146996
2017-08-16 4193.426713 4193.469553 4190.104520 4187.399662
2017-08-17 4338.694675 4334.115210 4334.449440 4346.508031
2017-08-18 4182.166174 4169.555948 4175.440768 4198.277722

উপরের টেবিল থেকে আপনি দেখতে পাচ্ছেন যে, এই তথ্যগুলি আমাদের প্রত্যাশার সাথে সামঞ্জস্যপূর্ণ, ডেটা পরিসীমা প্রায় একই, কেবলমাত্র প্রতিটি এক্সচেঞ্জের বিলম্ব বা স্বতন্ত্র বৈশিষ্ট্যগুলির উপর ভিত্তি করে কিছুটা আলাদা।

২.৫ মূল্যের তথ্যের দৃশ্যমানতা

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

def df_scatter(df, title, seperate_y_axis=False, y_axis_label='', scale='linear', initial_hide=False):
    '''Generate a scatter plot of the entire dataframe'''
    label_arr = list(df)
    series_arr = list(map(lambda col: df[col], label_arr))
    
    layout = go.Layout(
        title=title,
        legend=dict(orientation="h"),
        xaxis=dict(type='date'),
        yaxis=dict(
            title=y_axis_label,
            showticklabels= not seperate_y_axis,
            type=scale
        )
    )
    
    y_axis_config = dict(
        overlaying='y',
        showticklabels=False,
        type=scale )
    
    visibility = 'visible'
    if initial_hide:
        visibility = 'legendonly'
        
    # 每个系列的表格跟踪
    trace_arr = []
    for index, series in enumerate(series_arr):
        trace = go.Scatter(
            x=series.index, 
            y=series, 
            name=label_arr[index],
            visible=visibility
        )
        
        # 为系列添加单独的轴
        if seperate_y_axis:
            trace['yaxis'] = 'y{}'.format(index + 1)
            layout['yaxis{}'.format(index + 1)] = y_axis_config    
        trace_arr.append(trace)

    fig = go.Figure(data=trace_arr, layout=layout)
    py.iplot(fig)

আপনার জন্য সহজেই বোঝার জন্য, এই নিবন্ধটি এই সহায়ক ফাংশনের যৌক্তিক নীতিগুলি নিয়ে খুব বেশি আলোচনা করবে না। আরও জানতে পান্ডা এবং প্লটলি-র অফিসিয়াল নির্দেশাবলী দেখুন।

এখন, আমরা সহজেই বিটকয়েনের দামের তথ্যের একটি গ্রাফ তৈরি করতে পারি!

# 绘制所有BTC交易价格
df_scatter(btc_usd_datasets, 'Bitcoin Price (USD) By Exchange')

img

২.৬ মোট মূল্যের তথ্য পরিষ্কার এবং যোগ করা

উপরের চিত্র থেকে দেখা যায় যে, যদিও এই চারটি ধারাবাহিক তথ্য প্রায় একই পথ অনুসরণ করে, তবুও এর মধ্যে কিছু অনিয়মিত পরিবর্তন রয়েছে, এবং আমরা এই অনিয়মিত পরিবর্তনগুলি পরিষ্কার করার চেষ্টা করব।

২০১২-২০১৭ সময়কালে, আমরা জানি বিটকয়েনের দাম কখনই শূন্যের সমান হয় না, তাই আমরা প্রথমে ডেটা বক্স থেকে সমস্ত শূন্য সরিয়েছি।

# 清除"0"值
btc_usd_datasets.replace(0, np.nan, inplace=True)

ডাটাবেস পুনর্গঠনের পরে, আমরা আরও স্পষ্ট গ্রাফ দেখতে পাচ্ছি, যেখানে কোনও ডেটা অনুপস্থিত।

# 绘制修订后的数据框
df_scatter(btc_usd_datasets, 'Bitcoin Price (USD) By Exchange')

img

আমরা এখন একটি নতুন কলাম গণনা করতে পারিঃ সমস্ত এক্সচেঞ্জের বিটকয়েনের দৈনিক গড় মূল্য।

# 将平均BTC价格计算为新列
btc_usd_datasets['avg_btc_price_usd'] = btc_usd_datasets.mean(axis=1)

নতুন কলামটি হল বিটকয়েনের দামের সূচক! আমরা এটিকে আবার আঁকতে পারি যাতে আমরা দেখতে পারি যে এই তথ্যটি দেখতে সমস্যাযুক্ত কিনা।

# 绘制平均BTC价格
btc_trace = go.Scatter(x=btc_usd_datasets.index, y=btc_usd_datasets['avg_btc_price_usd'])
py.iplot([btc_trace])

img

এটা মনে হচ্ছে যে সমস্যা নেই, এবং আমরা পরে এই সমষ্টিগত মূল্য সারি তথ্য ব্যবহার চালিয়ে যাব, যাতে অন্যান্য ডিজিটাল মুদ্রা এবং ডলারের মধ্যে বিনিময় হার নির্ধারণ করা যায়।

তৃতীয় ধাপঃ Altcoins এর দাম সংগ্রহ করুন

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

3.1 পোলোনিক্স এক্সচেঞ্জের API এর মাধ্যমে সহায়ক ফাংশনগুলি সংজ্ঞায়িত করুন

প্রথমত, আমরা ডিজিটাল মুদ্রার লেনদেনের তথ্য পাওয়ার জন্য পোলনিয়েক্স এক্সচেঞ্জের এপিআই ব্যবহার করি। আমরা দুটি সহায়ক ফাংশন সংজ্ঞায়িত করেছি যা জাঙ্কটোনের সাথে সম্পর্কিত ডেটা অর্জন করে, যা মূলত এপিআইয়ের মাধ্যমে JSON ডেটা ডাউনলোড এবং ক্যাশে করে।

প্রথমত, আমরা get_json_data ফাংশনটি সংজ্ঞায়িত করি, যা প্রদত্ত URL থেকে JSON ডেটা ডাউনলোড এবং ক্যাশে করবে।

def get_json_data(json_url, cache_path):
    '''Download and cache JSON data, return as a dataframe.'''
    try:        
        f = open(cache_path, 'rb')
        df = pickle.load(f)   
        print('Loaded {} from cache'.format(json_url))
    except (OSError, IOError) as e:
        print('Downloading {}'.format(json_url))
        df = pd.read_json(json_url)
        df.to_pickle(cache_path)
        print('Cached {} at {}'.format(json_url, cache_path))
    return df

এরপরে, আমরা একটি নতুন ফাংশন সংজ্ঞায়িত করি যা পোলোনিক্স এপিআই থেকে একটি HTTP অনুরোধ তৈরি করবে এবং কল করা ডেটা ফলাফলগুলি সংরক্ষণ করতে সবেমাত্র সংজ্ঞায়িত get_json_data ফাংশনটি কল করবে।

base_polo_url = 'https://poloniex.com/public?command=returnChartData&currencyPair={}&start={}&end={}&period={}'
start_date = datetime.strptime('2015-01-01', '%Y-%m-%d') # 从2015年开始获取数据
end_date = datetime.now() # 直到今天
pediod = 86400 # pull daily data (86,400 seconds per day)

def get_crypto_data(poloniex_pair):
    '''Retrieve cryptocurrency data from poloniex'''
    json_url = base_polo_url.format(poloniex_pair, start_date.timestamp(), end_date.timestamp(), pediod)
    data_df = get_json_data(json_url, poloniex_pair)
    data_df = data_df.set_index('date')
    return data_df

উপরের ফাংশনটি একটি ডিজিটাল মুদ্রার জোড়া অক্ষর কোড (যেমন বিটিসি_ইটিএইচ ট্যাব) বের করে এবং দুটি মুদ্রার ঐতিহাসিক মূল্য ধারণকারী একটি ডেটা ট্যাব ফেরত দেয়।

৩.২ পোলনিয়েক্স থেকে লেনদেনের দামের তথ্য ডাউনলোড করুন

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

altcoins = ['ETH','LTC','XRP','ETC','STR','DASH','SC','XMR','XEM']

altcoin_data = {}
for altcoin in altcoins:
    coinpair = 'BTC_{}'.format(altcoin)
    crypto_price_df = get_crypto_data(coinpair)
    altcoin_data[altcoin] = crypto_price_df

এখন, আমরা ৯টি ডেটা প্যাকের একটি অভিধান পেয়েছি, যার প্রত্যেকটিতে ক্যাশ এবং বিটকয়েনের মধ্যে ঐতিহাসিক দৈনিক গড় মূল্যের তথ্য রয়েছে।

আমরা ইথেরিয়ামের দামের সূচকের শেষ কয়েকটি লাইন ব্যবহার করে এই তথ্যটি সঠিক কিনা তা নির্ধারণ করতে পারি।

altcoin_data['ETH'].tail()
ইটিএইচ খোলা উচ্চ কম বন্ধ করুন ভলিউম (বিটিসি) আয়তন (মুদ্রা) ওজনযুক্ত মূল্য
2017-08-18 0.070510 0.071000 0.070170 0.070887 17364.271529 1224.762684 0.070533
2017-08-18 0.071595 0.072096 0.070004 0.070510 26644.018123 1893.136154 0.071053
2017-08-18 0.071321 0.072906 0.070482 0.071600 39655.127825 2841.549065 0.071657
2017-08-19 0.071447 0.071855 0.070868 0.071321 16116.922869 1150.361419 0.071376
2017-08-19 0.072323 0.072550 0.071292 0.071447 14425.571894 1039.596030 0.072066

৩.৩ সমস্ত মূল্যের তথ্যের মুদ্রা একক ডলার

এখন, আমরা বিটিসি এবং কোয়েন এক্সচেঞ্জের ডেটা আমাদের বিটকয়েন মূল্য সূচকের সাথে একত্রিত করতে পারি এবং সরাসরি প্রতিটি কোয়েনের historicalতিহাসিক মূল্য (ইউনিটঃ ডলার) গণনা করতে পারি।

# 将USD Price计算为每个altcoin数据帧中的新列
for altcoin in altcoin_data.keys():
    altcoin_data[altcoin]['price_usd'] =  altcoin_data[altcoin]['weightedAverage'] * btc_usd_datasets['avg_btc_price_usd']

এখানে, আমরা প্রতিটি কয়েনের ডেটাবেসের জন্য একটি নতুন কলাম যুক্ত করেছি যাতে তাদের সংশ্লিষ্ট ডলার মূল্য সংরক্ষণ করা যায়।

এরপরে, আমরা পূর্বে সংজ্ঞায়িত ফাংশন merge_dfs_on_column পুনরায় ব্যবহার করতে পারি, যাতে প্রতিটি ডিজিটাল মুদ্রার ডলার মূল্যকে একত্রিত করে একটি একীভূত ডেটা প্যাক তৈরি করা যায়।

# 将每个山寨币的美元价格合并为单个数据帧
combined_df = merge_dfs_on_column(list(altcoin_data.values()), list(altcoin_data.keys()), 'price_usd')

ঠিক আছে!

এখন আসুন আমরা বিটকয়েনের দামকে একযোগে একত্রিত ডেটা প্যাকেজে যোগ করি।

# 将BTC价格添加到数据帧
combined_df['BTC'] = btc_usd_datasets['avg_btc_price_usd']

এখন আমাদের কাছে একটি অনন্য ডেটা প্যাড রয়েছে, যা আমরা যাচাই করা ১০টি ডিজিটাল মুদ্রার দৈনিক ডলারের দাম ধারণ করে।

আমরা পূর্ববর্তী ফাংশন df_scatter পুনরায় কল করি, যা সমস্ত ক্যাটাগরির জন্য মানচিত্রের আকারে প্রদর্শিত হয়।

img

এই চার্টটি আমাদেরকে গত কয়েক বছরের মধ্যে প্রতিটি ডিজিটাল মুদ্রার বিনিময় মূল্যের পরিবর্তনের একটি সম্পূর্ণ চিত্র দেখায়।

দ্রষ্টব্যঃ এখানে আমরা ল্যাগারিস্টিক স্পেসিফিকেশনের y-অক্ষ ব্যবহার করে একই চিত্রের সাথে সমস্ত ডিজিটাল মুদ্রার তুলনা করেছি। আপনি অন্যান্য বিভিন্ন প্যারামিটার মান (যেমন স্কেল =

৩.৪ প্রাসঙ্গিকতা বিশ্লেষণ শুরু

সতর্ক পাঠক হয়তো লক্ষ্য করেছেন যে, ডিজিটাল মুদ্রার দামগুলি সম্পর্কিত বলে মনে হচ্ছে, যদিও তাদের মুদ্রার মূল্যের মধ্যে ব্যাপক পার্থক্য রয়েছে এবং এটি অত্যন্ত অস্থির। বিশেষ করে এপ্রিল ২০১৭-এর তীব্র উত্থানের পর থেকে, এমনকি অনেক ছোটখাট অস্থিরতাও পুরো বাজারের অস্থিরতার সাথে মিলেছে বলে মনে হচ্ছে।

অবশ্যই, তথ্যভিত্তিক উপসংহারগুলি চিত্রের উপর ভিত্তি করে প্রাপ্ত অন্তর্দৃষ্টিগুলির চেয়ে বেশি বিশ্বাসযোগ্য।

উপরের সংশ্লিষ্টতা অনুমানটি আমরা পান্ডার corr () ফাংশন ব্যবহার করে যাচাই করতে পারি। এই পরীক্ষা পদ্ধতিটি ডেটা স্ট্রিংয়ের প্রতিটি স্তরের জন্য তার অন্যান্য স্তরের সাথে সম্পর্কিত পিলসন সম্পর্কিত কফেক্টর গণনা করে।

2017.8.22 সংশোধিত বিঃদ্রঃ এই অংশটি সংশোধন করা হয়েছে যাতে সংশ্লিষ্ট ক্যাপাসিটার গণনা করার সময় মূল্যের পরিবর্তে দৈনিক রিটার্নের হার ব্যবহার করা হয়।

একটি নন-স্ট্যাটিক সময় সিরিজের উপর ভিত্তি করে সরাসরি গণনা (যেমন, প্রাথমিক মূল্যের তথ্য) সম্পর্কিত কোয়ালিটির বিচ্যুতির কারণ হতে পারে। এই সমস্যার জন্য, আমাদের সমাধানটি pct_change () পদ্ধতি ব্যবহার করে, যা ডেটা স্ট্রেকের প্রতিটি মূল্যের পরম মানকে সংশ্লিষ্ট দৈনিক ফেরতের হারে রূপান্তরিত করে।

উদাহরণস্বরূপ, আসুন ২০১৬ সালের জন্য সংশ্লিষ্ট কফিয়ারেন্ট গণনা করি।

# 计算2016年数字货币的皮尔森相关系数
combined_df_2016 = combined_df[combined_df.index.year == 2016]
combined_df_2016.pct_change().corr(method='pearson')
নাম ড্যাশ ইত্যাদি ইটিএইচ এলটিসি এস সি এসটিআর এক্সইএম এক্সএমআর এক্সআরপি বিটিসি
ড্যাশ 1.000000 0.003992 0.122695 -0.012194 0.026602 0.058083 0.014571 0.121537 0.088657 -0.014040
ইত্যাদি 0.003992 1.000000 -0.181991 -0.131079 -0.008066 -0.102654 -0.080938 -0.105898 -0.054095 -0.170538
ইটিএইচ 0.122695 -0.181991 1.000000 -0.064652 0.169642 0.035093 0.043205 0.087216 0.085630 -0.006502
এলটিসি -0.012194 -0.131079 -0.064652 1.000000 0.012253 0.113523 0.160667 0.129475 0.053712 0.750174
এস সি 0.026602 -0.008066 0.169642 0.012253 1.000000 0.143252 0.106153 0.047910 0.021098 0.035116
এসটিআর 0.058083 -0.102654 0.035093 0.113523 0.143252 1.000000 0.225132 0.027998 0.320116 0.079075
এক্সইএম 0.014571 -0.080938 0.043205 0.160667 0.106153 0.225132 1.000000 0.016438 0.101326 0.227674
এক্সএমআর 0.121537 -0.105898 0.087216 0.129475 0.047910 0.027998 0.016438 1.000000 0.027649 0.127520
এক্সআরপি 0.088657 -0.054095 0.085630 0.053712 0.021098 0.320116 0.101326 0.027649 1.000000 0.044161
বিটিসি -0.014040 -0.170538 -0.006502 0.750174 0.035116 0.079075 0.227674 0.127520 0.044161 1.000000

উপরের চিত্রটি সংশ্লিষ্ট ক্রিয়াপদগুলি দেখায়। ক্রিয়াপদগুলি 1 বা -1 এর কাছাকাছি, যথাক্রমে, অর্থ এই যে এই ক্রমটি ইতিবাচকভাবে সম্পর্কিত, বা বিপরীতভাবে সম্পর্কিত, এবং সংশ্লিষ্ট ক্রিয়াপদগুলি 0 এর কাছাকাছি সম্পর্কিত নয় এবং তাদের ওঠানামা একে অপরের থেকে স্বাধীন।

আমরা একটি নতুন ভিজ্যুয়ালাইজেশন সহায়তা ফাংশন তৈরি করেছি যাতে আমরা আরও ভাল ভিজ্যুয়ালাইজেশন প্রদর্শন করতে পারি।

def correlation_heatmap(df, title, absolute_bounds=True):
    '''Plot a correlation heatmap for the entire dataframe'''
    heatmap = go.Heatmap(
        z=df.corr(method='pearson').as_matrix(),
        x=df.columns,
        y=df.columns,
        colorbar=dict(title='Pearson Coefficient'),
    )
    
    layout = go.Layout(title=title)
    
    if absolute_bounds:
        heatmap['zmax'] = 1.0
        heatmap['zmin'] = -1.0
        
    fig = go.Figure(data=[heatmap], layout=layout)
    py.iplot(fig)
correlation_heatmap(combined_df_2016.pct_change(), "Cryptocurrency Correlations in 2016")

img

এখানে, গভীর লাল মানগুলি দৃ strong় সম্পর্ককে উপস্থাপন করে (প্রতিটি মুদ্রা স্পষ্টতই তার নিজস্ব উচ্চতার সাথে সম্পর্কিত), গভীর নীল মানগুলি বিপরীত সম্পর্ককে উপস্থাপন করে। মধ্যবর্তী সমস্ত রঙ - হালকা নীল / বাদামী / ধূসর / বাদামী - এর মানগুলি বিভিন্ন ডিগ্রিতে দুর্বল সম্পর্কযুক্ত বা সম্পর্কহীন।

মূলত, এটি ২০১৬ সালের মধ্যে বিভিন্ন ডিজিটাল মুদ্রার দামের পরিবর্তনের চিত্র দেয়, যার সাথে খুব কমই পরিসংখ্যানগতভাবে উল্লেখযোগ্য সম্পর্ক রয়েছে।

এখন, সাম্প্রতিক মাসগুলিতে ডিজিটাল মুদ্রার প্রাসঙ্গিকতা বৃদ্ধির জন্য আমাদের অনুমানটি যাচাই করার জন্য, আমরা 2017 সাল থেকে শুরু হওয়া ডেটা ব্যবহার করে একই পরীক্ষাটি পুনরাবৃত্তি করব।

combined_df_2017 = combined_df[combined_df.index.year == 2017]
combined_df_2017.pct_change().corr(method='pearson')
নাম ড্যাশ ইত্যাদি ইটিএইচ এলটিসি এস সি এসটিআর এক্সইএম এক্সএমআর এক্সআরপি বিটিসি
ড্যাশ 1.000000 0.384109 0.480453 0.259616 0.191801 0.159330 0.299948 0.503832 0.066408 0.357970
ইত্যাদি 0.384109 1.000000 0.602151 0.420945 0.255343 0.146065 0.303492 0.465322 0.053955 0.469618
ইটিএইচ 0.480453 0.602151 1.000000 0.286121 0.323716 0.228648 0.343530 0.604572 0.120227 0.421786
এলটিসি 0.259616 0.420945 0.286121 1.000000 0.296244 0.333143 0.250566 0.439261 0.321340 0.352713
এস সি 0.191801 0.255343 0.323716 0.296244 1.000000 0.417106 0.287986 0.374707 0.248389 0.377045
এসটিআর 0.159330 0.146065 0.228648 0.333143 0.417106 1.000000 0.396520 0.341805 0.621547 0.178706
এক্সইএম 0.299948 0.303492 0.343530 0.250566 0.287986 0.396520 1.000000 0.397130 0.270390 0.366707
এক্সএমআর 0.503832 0.465322 0.604572 0.439261 0.374707 0.341805 0.397130 1.000000 0.213608 0.510163
এক্সআরপি 0.066408 0.053955 0.120227 0.321340 0.248389 0.621547 0.270390 0.213608 1.000000 0.170070
বিটিসি 0.357970 0.469618 0.421786 0.352713 0.377045 0.178706 0.366707 0.510163 0.170070 1.000000

উপরের তথ্যগুলো কি আরও বেশি প্রাসঙ্গিক? বিনিয়োগের জন্য যথেষ্ট? উত্তরটি হল, না।

তবে এটি লক্ষণীয় যে প্রায় সব ডিজিটাল মুদ্রা ক্রমবর্ধমানভাবে আন্তঃসংযুক্ত হয়ে উঠেছে।

correlation_heatmap(combined_df_2017.pct_change(), "Cryptocurrency Correlations in 2017")

img

আপনি উপরের চিত্র থেকে দেখতে পাচ্ছেন যে জিনিসগুলি আরও মজাদার হয়ে উঠছে।

কেন এমনটা হচ্ছে?

আপনি কি জানেন যে, আমি কিশোরী না, আমি কিশোরী না, আমি কিশোরী না?

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

এক্সআরপি এবং এসটিআর সম্পর্কে গভীরতর ধারণা

উদাহরণস্বরূপ, উপরের চিত্র থেকে এটা স্পষ্ট যে এক্সআরপি (রিপলের টোকেন) অন্যান্য ডিজিটাল মুদ্রার সাথে সবচেয়ে কম সম্পর্কযুক্ত। তবে এখানে একটি উল্লেখযোগ্য ব্যতিক্রম হল STR (স্টেলার টোকেন, যার অফিসিয়াল নাম "লুমেনস"), যা এক্সআরপি (প্রাসঙ্গিকতা সহগঃ 0.62) এর সাথে শক্তিশালী সম্পর্কযুক্ত।

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

ঠিক আছে, তোমার পালা!

উপরের ব্যাখ্যাগুলি মূলত অনুমানমূলক, সম্ভবত আপনি আরও ভাল করবেন। আমরা যে ভিত্তি স্থাপন করেছি তার উপর ভিত্তি করে, আপনার কাছে ডেটাতে লুকানো গল্পগুলি অন্বেষণ করার জন্য শত শত বিভিন্ন উপায় রয়েছে।

এখানে আমার কিছু পরামর্শ রয়েছে যা পাঠকরা এই দিকগুলি নিয়ে আরও গবেষণা করার জন্য ব্যবহার করতে পারেনঃ

  • বিশ্লেষণের জন্য আরও ডিজিটাল মুদ্রার তথ্য যোগ করা হয়েছে
  • সংশ্লিষ্টতা বিশ্লেষণের সময়সীমা এবং গ্রন্থিগুলিকে অনুকূলিত বা রুক্ষ গ্রন্থিগুলির প্রবণতা দৃশ্যের জন্য সামঞ্জস্য করুন।
  • ট্রেড ভলিউম বা ব্লকচেইন ডেটা থেকে ট্রেন্ডস খুঁজুন। যদি আপনি ভবিষ্যতের দামের ওঠানামা পূর্বাভাস দিতে চান, তাহলে আপনি মূল মূল্যের তুলনায় কিনুন/বিক্রয় অনুপাতের ডেটা বেশি প্রয়োজন হতে পারে।
  • শেয়ার, পণ্য, এবং বৈধ মুদ্রার দামের তথ্য যুক্ত করে তাদের মধ্যে কোনটি ডিজিটাল মুদ্রার সাথে সম্পর্কিত তা নির্ধারণ করুন ((তবে, এই প্রবাদটি ভুলে যাবেন না যে এর সাথে কোনও সম্পর্ক নেই))
  • ইভেন্ট রেজিস্ট্রি, জিডিইএলটি, এবং গুগল ট্রেন্ডস ব্যবহার করে নির্দিষ্ট ডিজিটাল মুদ্রার চারপাশের হটওয়ার্ডের সংখ্যার পরিমাণ পরিমাপ করুন।
  • ডেটা ব্যবহার করে ভবিষ্যদ্বাণীমূলক মেশিন লার্নিং মডেলকে ভবিষ্যদ্বাণী করার জন্য ট্রেনিং দিন। যদি আপনার আরও বড় উচ্চাকাঙ্ক্ষা থাকে, তাহলে আপনি এমনকি সার্কুলার নিউরাল নেটওয়ার্ক (আরএনএন) দিয়ে উপরে উল্লিখিত ট্রেনিং করার চেষ্টা করতে পারেন।
  • আপনার বিশ্লেষণ ব্যবহার করে একটি স্বয়ংক্রিয় ট্রেডিং রোবট তৈরি করুন, যা প্রাসঙ্গিক অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস (API) এর মাধ্যমে প্রয়োগ করা হয়, উদাহরণস্বরূপ, পোলনিএক্স বা কয়েনবেসের মতো এক্সচেঞ্জের ওয়েবসাইটে।这里推荐使用发明者量化平台FMZ.COM

বিটকয়েন সম্পর্কে, এবং সাধারণভাবে ডিজিটাল মুদ্রা সম্পর্কে, সবচেয়ে ভাল অংশটি হ'ল তাদের বিকেন্দ্রীভূত প্রকৃতি, যা এটিকে অন্য যে কোনও সম্পদের চেয়ে মুক্ত, গণতান্ত্রিক করে তোলে। আপনি আপনার বিশ্লেষণটি ওপেন সোর্স ভাগ করতে পারেন, সম্প্রদায়ের সাথে অংশ নিতে পারেন, বা একটি ব্লগ লিখতে পারেন! আশা করি আপনি এখন স্ব-বিশ্লেষণের দক্ষতা অর্জন করেছেন এবং ভবিষ্যতে যে কোনও অনুমানমূলক ডিজিটাল মুদ্রার নিবন্ধ পড়ার সময়, বিশেষত ডেটা-সমর্থিত ভবিষ্যদ্বাণীগুলি পড়ার জন্য যুক্তিসঙ্গত চিন্তাভাবনা করার ক্ষমতা রয়েছে। ধন্যবাদ আপনাকে পড়ার জন্য, এই টিউটোরিয়াল সম্পর্কে আপনার যদি কোনও মতামত, পরামর্শ বা সমালোচনা থাকে তবে দয়া করে আমাদের সাথে যোগাযোগ করুন।https://www.fmz.com/bbsমন্তব্য করুন ।


সম্পর্কিত

আরো

রুইসিয়াও১৯৮৯খুব মূল্যবান নিবন্ধ, শিখেছি, ধন্যবাদ।

ভালআপনার ভালোবাসার জন্য ধন্যবাদ।