logo



قديم 15-03-2020, 04:46 PM
  المشاركه #13
عضو هوامير المميز
تاريخ التسجيل: Nov 2013
المشاركات: 120
 

سوف نجعل البرنامج يقسم المعلومات التاريية إلي مجموعتين مجموعة التعلم و مجوعة الإختبار والتعلم كما سنحسب المتوسط اليومي من خلال طرح اللو من الهاي و قسمة الباقي على 2 كما يلي
كود:
 # First calculate the mid prices from the highest and lowest
high_prices = df.loc[:,'High'].as_matrix()
low_prices = df.loc[:,'Low'].as_matrix()
mid_prices = (high_prices+low_prices)/2.0





الأن نأتي لتنسيق المدخلات Normalizing the Data
و لهذا يلزمنا كود ينسق الداتا بين 0 و 1 و يمكننا من ضبط المعطيات اللازمة للتدرب أي ال 11000 الأولى و معطيات التجربة لتكون على الشكل [ test Data[data_size, num_features


كود:
# Scale the data to be between 0 and 1
# When scaling remember! You normalize both test and train data with respect to training data
# Because you are not supposed to have access to test data
scaler = MinMaxScaler()
train_data = train_data.reshape(-1,1)
test_data = test_data.reshape(-1,1)




 
 
قديم 15-03-2020, 04:51 PM
  المشاركه #14
عضو هوامير المميز
تاريخ التسجيل: Nov 2013
المشاركات: 120
 

كما لاحضنا سابقا أن المعلومات في السنوات الأولة ليست بنفس الدقة فدقة الداتا من 1970 ل 1990 قليلة الحركة و تكاد تقترب من الصفر على عكس الداتا بعد ذلك لهذا سنقسم الداتا ل4 أجزاء كل جزىء 2500 و بذلك يكون لدينا 4 أجزاء


كود:
  # Train the Scaler with training data and smooth data
smoothing_window_size = 2500
for di in range(0,10000,smoothing_window_size):
    scaler.fit(train_data[di:di+smoothing_window_size,:])
    train_data[di:di+smoothing_window_size,:] = scaler.transform(train_data[di:di+smoothing_window_size,:])

# You normalize the last bit of remaining data
scaler.fit(train_data[di+smoothing_window_size:,:])
train_data[di+smoothing_window_size:,:] = scaler.transform(train_data[di+smoothing_window_size:,:])
ثم ننضم الداتا في شكل [data_size]

كود:
  # Reshape both train and test data
train_data = train_data.reshape(-1)

# Normalize test data
test_data = scaler.transform(test_data).reshape(-1)
ثم ندخل الموفينق أفريج لتنعيم الداتا SMOOTH بالطبع نقوم بعمل ذلك على الداتا الخاصة بالتدريب أي ال 11000 الأولى فقط

كود:
 # Now perform exponential moving average smoothing
# So the data will have a smoother curve than the original ragged data
EMA = 0.0
gamma = 0.1
for ti in range(11000):
  EMA = gamma*train_data[ti] + (1-gamma)*EMA
  train_data[ti] = EMA

# Used for visualization and test purposes
all_mid_data = np.concatenate([train_data,test_data],axis=0)




قديم 15-03-2020, 04:52 PM
  المشاركه #15
عضو هوامير المميز
تاريخ التسجيل: Nov 2013
المشاركات: 120
 

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



قديم 15-03-2020, 06:05 PM
  المشاركه #16
عضو هوامير المميز
تاريخ التسجيل: Apr 2014
المشاركات: 3,674
 

متابعين معك ..

هل تقصد روبوت يبيع ويشتري او فقط يقوم بتحليلات ويعطي قراءة واهداف مستقبلية بناء على معلومات سابقة تاريخية ؟




قديم 15-03-2020, 06:47 PM
  المشاركه #17
عضو هوامير المميز
تاريخ التسجيل: Nov 2013
المشاركات: 120
 

حاليا الروبةت يحلل و يعطيك شمعة اليوم أو الأيام القادمة و لكن ممكن نطوره ليتاجر أوتوماتيكيا


الأن سوف نستعمل المتوسطات لمعرفة الإتجاه المستقبلي للسوق و لكن تقنية المتوسطات تمكنني من معرفة خطوة واحدة فقط للأمام و لو حاولنا أستعمالها للتكهن بأكثر من خطوة للأمام فسوف تعطينا أخطاء

سوف نستعمل طريقتين لحساب المتوسط أدناه ؛ المتوسط القياسي والمتوسط المتحرك الأسي. ستقوم بتقييم كل من النتائج النوعية من خلال (الفحص البصري) والكمي (متوسط الخطأ التربيعي) لتقييم النتائج التي تنتجها الخوارزميات.

يمكن حساب متوسط الخطأ التربيعي The Mean Squared Error ) MSE) بأخذ قيمة الخطأ التربيعي بين القيمة الحقيقية في خطوة واحدة إلى الأمام والقيمة المتوقعة ومتوسطها على جميع التوقعات




قديم 15-03-2020, 06:52 PM
  المشاركه #18
عضو هوامير المميز
تاريخ التسجيل: Nov 2013
المشاركات: 120
 

Standard Average المتوسط القياسي

نحن نتفهم صعوبة التعرف بدقة على الحركة القادمة للسوق من دراسة حقبة زمنية معينة لسهم معين لنقول مثلا ال 100 يوم السابقة و سنقوم بعد ذلك بنفس العملية باستعمال النتوسط الآسيexponential moving average و سوف نقارن بين الطريقتين . و هذا سيكون عمل جيد في طريق معرفة الاتجاه المستقبلي للسهم و ذلك باستعمال الذاكرة الطويلة و القصيرة المدى.
لنتعرف الان أولا على الطريقة الأولي Standard Average المتوسط القياسي لنعرف نتائجها

رد: ورشة  برمجة إكسبيرت الذكاء الإصطناعي

كود:
window_size = 100
N = train_data.size
std_avg_predictions = []
std_avg_x = []
mse_errors = []

for pred_idx in range(window_size,N):

    if pred_idx >= N:
        date = dt.datetime.strptime(k, '%Y-%m-%d').date() + dt.timedelta(days=1)
    else:
        date = df.loc[pred_idx,'Date']

    std_avg_predictions.append(np.mean(train_data[pred_idx-window_size:pred_idx]))
    mse_errors.append((std_avg_predictions[-1]-train_data[pred_idx])**2)
    std_avg_x.append(date)

print('MSE error for standard averaging: %.5f'%(0.5*np.mean(mse_errors)))
MSE error for standard averaging: 0.00418


لاحظ كيف أن المتوسط يتابع السعر عن كثب و بدقة عالية و سنرى لاحقا طريقة أكثر دقة لمعرفة مرحلة واحدة للأمام

كود:
 
plt.figure(figsize = (18,9))
plt.plot(range(df.shape[0]),all_mid_data,color='b',label='True')
plt.plot(range(window_size,N),std_avg_predictions,color='orange',label='Prediction')
#plt.xticks(range(0,df.shape[0],50),df['Date'].loc[::50],rotation=45)
plt.xlabel('Date')
plt.ylabel('Mid Price')
plt.legend(fontsize=18)
plt.show()
رد: ورشة  برمجة إكسبيرت الذكاء الإصطناعي
ماذا نفهم من النتيجة في الصور ؟؟؟ ما نفهمه أن النتائج جيدة و لا بأس بها في التعرف على حركة السهم المستقبلية ليوم قادم

لاحقا سنستعم طريقة أكثر دقة و تتكهن مدة مستقبلية أطول لذلك سوف نستعمل المتوسط الآسي exponential moving average




قديم 15-03-2020, 09:16 PM
  المشاركه #19
عضو هوامير المميز
تاريخ التسجيل: Jan 2017
المشاركات: 61
 

بارك الله فيك متابع لك استمر



قديم 15-03-2020, 11:11 PM
  المشاركه #20
عضو هوامير المميز
تاريخ التسجيل: Nov 2013
المشاركات: 120
 

أوكي هذا من محاسن التوقي من الكورونة أنها تضطرني للمكوث في المنزل و البرمجة



قديم 15-03-2020, 11:15 PM
  المشاركه #21
عضو هوامير المميز
تاريخ التسجيل: Jan 2016
المشاركات: 1,949
 

بارك الله فيك



قديم 20-03-2020, 12:52 AM
  المشاركه #22
عضو هوامير المميز
تاريخ التسجيل: Sep 2019
المشاركات: 135
 

التقنية وتطورها
في يد صانع السوق
وهو يسبقنا بخطوات كبيرة
اذا لحقناه
صعب نفهمه بسهوله
بارك الله فيك




قديم 28-03-2020, 05:55 AM
  المشاركه #23
عضو هوامير المؤسس
تاريخ التسجيل: May 2005
المشاركات: 1,005
 

متابع والفكرة رائعة

أعتقد أنك تحتاج لجموعة من المحللين الفنيين محترفين في جميع مدارس التحليل الفني والشموع
وذلك لمزيد من العصف الذهني




قديم 28-03-2020, 11:49 PM
  المشاركه #24
عضو هوامير المميز
تاريخ التسجيل: Nov 2013
المشاركات: 120
 

نحن مع الأسف لا نعرف العمل الجماعي الكل متقوقع على نفسه بأنانية مفرطة و أغلبنا نريد الجاهز بدون أن نساعد و لا نتعب و لا نفكر و نريده مجاني كذلك






الكلمات الدلالية (Tags)

إكسبيرت

,

ورشة

,

الإصطناعي

,

الذكاء

,

برمجة


أدوات الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع



05:07 PM