Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 10.03.2009, 08:38   #1
petrov_ja
 
Регистрация: 01.03.2009
Сообщений: 7
Репутация: 10
По умолчанию отображение данных для последующей корреляции_возможно это нельзя сделать в excel_не знаю

доброго времени суток!

вновь обращаюсь к коллективному разуму:-), т.к. своим одолеть данную проблему не смог. если сможете помочь, то буду весьма признателен.

вопрос мой состоит в следующем:
как из столбца с данными "выдернуть" определенное количество значений, а затем с коррелировать эти значения со значениями "выдернутыми" из другого столбца?

понимаю, что ничего не понятно, но по другому в одном предложении не скажешь.

терь подробно:
есть 2 csv - файла(1 рисунок) из которых через формулу ссылки: =(АДРЕС(2;3;1;ЛОЖЬ;D:\имя файла!A1)) мы получаем данные в файлы xls.

поясню зачем все это нужно для того чтобы была ясна вся картина.
есть программа для работы на бирже, которая позволяет экспортировать в csv - файл архивные данные по различным инструментам (в частности, валютным парам). делается это для дальнейшей обработки и анализа. типа при анализе прошлого можно прогнозировать будущее. вот. я бы хотел на истории, т.е. на архивных значениях котировок валютных пар посчитать (или построить?) корреляцию. в excel есть формула: =коррел(массив1;массив2).

но проблема в том, что брокер, поставщик этого самого архива, по каждой паре, т.е. в каждом архиве, может дать различное количество котировок. и поэтому не получается сделать верную корреляцию, т.к. в одной коррелируемой паре (в одном массиве) может быть 10 000 котировок, а в другой паре (в другом коррелируемом массиве) может быть всего 2 000 котировок, а для верной корреляции между ними необходимо чтобы количество значений было одинаковым.

в исходном csv - файле котировки отображены так: последняя по времени котировка стоит последней и в столбце, т.е. допустим котировка за 10.03.2009 года будет стоять в ячейке А365, а котировка за 10.03.2008 будет стоять в ячейке А1. во архивах всех инструментов последнее значение датируется одним временем (хоть здесь брокер оказался точен). но проблемы с различным количеством значений, аргументов в массивах, это не снимает.

вот я и пришел к выводу, что необходимо привести количество аргументов, значений котировок в столбцах, к единому числу.
это число аргументов необходимо как-то "выдернуть" из общего количества. т.к. время выхода всех котировок во всех инструментах одинаково и т.к. корреляцию нам необходимо строить по последним данным, то нам нужно "выдергивать" котировки с окончания столбца (рисунок 2). на рисунке 2 видно, что я хочу получить, но это с диапазонами из 5 значений, аргументов, я сделал это вручную. я же хочу рассчитывать корреляции из 2000 - 5000 аргументов по 20 парам в 4 различных временных периодах :-) вручную тут не справиться. а еще данные необходимо обновлять раз в неделю.

еще мне кажется, что необходимо эти "выдернутые" значения расположить начиная с ячеек А1 и А2, или любым другим, но постоянным (рисунок 3). в другом случае не получится написать формулу корреляции с ссылками на постоянные диапазоны, т.к. в исходных csv-файлах количество котировок может различаться (и различается на 10-ки тысяч), то и "последняя" котировка может быть в разных ячейках (и в А2500, и в А 60500, и в А14839).

соответственно, решение данной проблемы я вижу в решении 2-х задач:
1. "выдернуть" необходимое, заданное, количество котировок, аргументов, начиная с последней;
2. "привязка" этих котировок к определенной, постоянной, ячейке.


уххх...
5 часов все обдумывал, описывал, формулировал :-)
вот что получилось. буду очень признателен Вам, господа, за подсказки и помощь, потому что я уже весь help for excel перерыл, но ничего не нашел.

а если это не возможно сделать в excel, то прошу Вас обязательно написать, чтобы я не терял времени. оч прошу, а то уже заколебался.

заранее спасибо и удачи.
petrov_ja вне форума   Ответить с цитированием
Старый 10.03.2009, 08:41   #2
petrov_ja
 
Регистрация: 01.03.2009
Сообщений: 7
Репутация: 10
По умолчанию

рисунки к первому сообщению не прикрепились
Изображения
Тип файла: jpg csv.jpg (24.7 Кб, 40 просмотров)
Тип файла: jpg разбор.jpg (43.6 Кб, 55 просмотров)
Тип файла: jpg разбор2.jpg (44.1 Кб, 46 просмотров)
petrov_ja вне форума   Ответить с цитированием
Старый 05.10.2010, 19:43   #3
sosed
Форумчанин
 
Аватар для sosed
 
Регистрация: 27.03.2009
Сообщений: 72
Репутация: 10
По умолчанию

Здравствуйте.
Обращаюсь с просьбой.
Подскажите пожалуйста, как отобрать числа с масимальным положительным коэффициентом корреляции в данном (или любом другом) массиве? Есть ли какая формула?

Код:
9-14-17-20-23-25-32-33-38-41-49-50-52-53-55-59-61-63-71-79
2-4-9-12-16-17-24-30-32-37-38-39-51-53-55-58-62-69-71-75
7-12-16-22-23-24-28-34-35-36-38-39-40-43-49-54-64-69-74-75
4-5-14-22-25-28-29-30-40-41-43-47-52-53-56-58-60-67-68-77
6-7-11-21-28-29-31-35-37-39-44-47-48-52-56-66-76-77-79-80
1-10-11-18-20-22-23-24-25-31-33-36-42-51-62-64-65-66-73-75
2-3-14-15-16-19-22-32-36-38-46-51-52-57-60-63-65-70-79-80
5-7-12-14-21-24-25-29-33-40-44-51-52-56-59-64-69-72-78-79
1-3-4-5-12-14-16-22-34-38-42-43-44-47-53-57-59-62-65-76
3-8-16-18-20-26-28-32-38-40-48-53-54-56-57-59-68-71-75-77
2-3-5-8-12-13-14-15-19-22-24-42-45-47-53-59-61-63-66-70
2-3-8-13-18-26-32-37-39-40-43-47-53-56-57-58-63-64-68-71
3-11-12-19-23-25-35-38-47-50-51-54-58-61-64-65-69-70-72-80
5-9-11-14-15-18-22-24-31-34-36-43-48-54-56-58-59-70-78-80
2-7-12-14-21-27-28-34-35-44-46-49-54-55-59-67-71-72-74-77
2-3-9-11-13-14-16-22-25-30-47-48-57-59-62-69-71-74-76-79
2-3-4-6-13-14-28-34-36-37-38-55-63-68-70-71-74-75-79-80
1-2-4-5-10-17-20-25-29-32-38-42-57-61-62-65-66-67-74-77
1-5-7-9-10-19-22-29-35-37-38-46-49-51-54-57-72-73-78-79
1-3-5-16-20-33-35-38-44-47-59-62-64-68-69-71-73-75-76-78

Последний раз редактировалось sosed; 05.10.2010 в 19:47.
sosed вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить инди в delphi 10 light, но как это зделать и где её взять не знаю 100GRamm Компоненты Delphi 1 09.02.2009 14:38
Не знаю как это сделать:) LSDkltn БД в Delphi 2 09.11.2007 14:39
Суммы, сортировка и т.д... (ну не знаю как бы это кратко обозвать :) ) Gatita Microsoft Office Excel 6 09.08.2007 21:23
Как сделать, чтобы программа запускалась один раз, т.е. повторно запустить нельзя??? Kamikadze_666 Безопасность, Шифрование 7 31.07.2007 08:34
сделать так, чтобы CheckBox и CheckListBox нельзя было отмечать вручную Washington Компоненты Delphi 7 24.03.2007 17:59


22:58.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.