Фондовый менеджмент

Вероятности как инструмент моделирования финансовых процессов укоренились в экономическом анализе уже сравнительно давно (более полувека назад). Нечеткие же множества – инструмент для экономических исследований довольно непривычный и новый, причем это замечание справедливо не только для России (где рыночная экономика существует всего 20 лет, если не брать в расчет дореволюционную историю), но и для всего остального мира. Следует отметить, что 80-е – 90-е годы прошлого столетия были для экономической науки, и вообще для российской науки, весьма проблемными. Перед учеными встал вопрос об элементарном выживании, и они часто были вынуждены поставить меркантильные соображения по зарабатыванию денег во главу угла, в ущерб научным исследованиям. Многие специалисты эмигрировали. Наука о нечетких множествах не избежала общей участи. После 1985 года исследования в этой области в России пошли на спад и практически прекратились до середины 90-х годов.
За рубежом тем временем развитие не прерывалось. Начиная с конца 80-х годов, нечетко-множественные приложения к экономическим исследованиям начали обособляться от общей теории нечетких множеств, как в свое время обособилось направление интеллектуальных компьютерных систем и систем, основанных на нечетких знаниях. Произошло это потому, что экономика – это не техника, это специфический объект научного исследования, включающий в себя «развивающуюся в рамках общественно-исторической формации на базе сложившихся производительных сил и производственных отношений стратегию и тактику хозяйственной деятельности, что охватывают все звенья товарного производства, распределения, товародвижения и потребления материальных благ» . Поэтому математики, развивающие методическую часть теории, вынуждены были получать дополнительную квалификацию экономистов, чтобы научиться детальным образом понимать процессы, протекающие в экономике и подлежащие научному анализу.

Глава 1 Вероятности как инструмент моделирования
Глава 2 Недостаточность традиционных подходов к оценке инвестиционной привлекательности фондовых активов
Глава 3 Нечетко-множественный подход к построению эффективных фондовых портфелей
Глава 4 Введение в современную теорию рационального инвестиционного выбора
Глава 5 Программная система оптимизации фондового портфеля
Глава 6 Основы теории нечетких множеств
Глава 7 Справочные материалы для оценки рейтинга долговых обязательств субъектов РФ
Глава 8 Справочные материалы для оценки скоринга акций российских эмитентов
Глава 9 Справочные материалы для оценки рейтинга корпоративных обязательств российских эмитентов
Глава 10 Краткий терминологический словарь

Графика для Windows библиотека программиста средствами DirectDraw

Программисты (особенно начинающие) любят задавать вопросы типа: «Скажи, на чем ты пишешь…?» Когда-то этот вопрос выглядел вполне логично. Компиляторы, отладчики, серверы, системы управления базами данных и все остальное только-только выходило из каменного века. Программные инструменты разительно отличались друг от друга по качеству и возможностям. Стоило сделать ставку на неудачный инструментарий, и работа становилась излишне тяжкой, а качество результата — низким.
Сегодня стал актуальным другой вопрос: «А чего стоишь ты сам?» Благодаря непрерывной конкуренции современные средства разработчика стали невероятно мощными и качественными, так что среднему программисту вряд ли удастся выжать из них все возможное. Скорее всего, вы спасуете намного раньше, чем ваш инструментарий — если только не узнаете о нем абсолютно все и не доведете свое мастерство программиста до подлинного совершенства.
Книги этой серии предназначены для углубленного изучения программных инструментов. В них рассматриваются нетривиальные возможности, которые невозможно описать в простейшем учебнике. Полноценные проекты заставляют читателя мыслить на уровне эксперта — напрягать серое вещество, лежащее в основе всего, что мы называем «мастерством».
Конечно, это не единственный путь — например, можно добросовестно набивать шишки обо все острые углы новых технологий и наобум пробовать все подряд, пока что-нибудь не заработает. А можно воспользоваться опытом наших авторов, которые уже прошли стадию обучения и попутно сделали кое-какие заметки на память. Мы тщательно отобрали темы, авторов и методику изложения, чтобы читатель не путался в ненужных вступлениях или редких технологиях, которые ему все равно не понадобятся.
Наша главная цель — поднять ваше мастерство настолько, насколько вы сами захотите. Классные инструменты у вас уже есть, осталось лишь стать классным программистом.

Краткий курс DirectDraw
DirectInput

Программирование стратегических игр с DirectX 9.0

Если вы новичок или начинающий разработчик игр, и желаете создать основу для производства стратегической игры, эта книга прекрасно подойдет вам. Хотя я и рассматриваю в книге некоторые достаточно сложные темы, я стараюсь сделать их доступными для как можно большей аудитории. Если вы удостокенный многих титулов ветеран разработки игр, вы, возможно, пройдете мимо. После всего, что вы сделали, прочтите книгу! Серьезно, большинство программистов, знакомых с теорией программирования игр, могут воспользоваться примерами чтобы сэкономить время.
Все примеры в этой книге написаны на языке С++ и компилировались Microsoft VisualC++ версии 6.0. Хотя я и пользуюсь С++, вы обнаружите, что в большинстве кода применяются только базовые средства языка и я избегаю пользоваться шаблонами и другими возможностями С++, чтобы код оставался как можно более простым для восприятия.

Введение
Книга охватывает широкий диапазон тем, относящихся к программированию стратегических игр. Вы можете воспринимать эту книгу как набор строительных блоков для разработчика. Каждая тема, или блок, могут рассматриваться отдельно, а соединенные вместе эти блоки дают великолепный результат.

Первые стратегии реального времени
Также, как история древних веков содержит много загадок, прошлое стратегических игр реального времени не является полностью ясным. Многие люди утверждают, что первая стратегия реального времени это Dune от Westwood, но я вспоминаю намного более ранние примеры игр этого жанра.

Utopia от Intellivision
Игровое поле
Земля
Здания
Океан
Корабли
Рыба, погода и пираты
Резюме
Populous от Bullfrog
Приманка

Архитектура программ Windows
Если вы до Windows работали с другой операционной системой, такой как UNIX, Linux или DOS, новый стиль программирования может показаться несколько необычным. Сначала придется отказаться от функции main(), которая будет заменена функцией с именем WinMain(). Так же как в других операционных системах требовалось наличие функции main(), программам работающим в Windows необходима функция WinMain().

Работа, управляемая событиями
События
Структура программы
Очередь событий
Функция WinMain()
Обработчик сообщений
Пишем первую программу для Windows
Начало работы с Visual C++ 6.0
Как создать проект
Как создать проект - 2

Сюжет
Чем была бы игра без сюжета? Чтобы лучше понять это, подумайте чем стали бы интересные персонажи любой книги без другой второстепенной информации. Они бы стали очень скучными. То же самое справедливо для стратегических игр и для большинства видеоигр вообще. Не поймите меня неправильно, чтобы создать интересную игру вам не надо быть сценаристом с мировым именем. Но хороший сюжет помогает полному погружению в вашу игру.

Тема сюжета
Элементы сюжета
Сюжетная основа
Конечная цель сюжета
Расстановка целей
Пример для изучения Empire Earth
Описание событий
Начальные цели
Главные вехи
Заключительная цель

Фаза идей
Итак, вы стоите на краю бесконечности. Только вы и ваш разум устанавливают границы того, что лежит впереди. Вы находитесь в фазе идей, также известной как стадия творчества. Именно здесь вы должны придумать идею, которая победит все остальные. Идею, которая приведет к тому, что миллионы игроков стекутся к вашему порогу. Идею, которая изменит игровой мир!

Создание наброска
Фаза определения требований
Фаза технической документации
Фаза разработки
Контроль исходного кода
Управление метками
Отслеживание ошибок
Отслеживание
Привязка к исходному коду
Метрики качества

Основы блочной графики
Как обычно, вы должны сперва разобраться с представленными здесь основами теории, и лишь потом переходить к более сложным темам. Не надо слишком волноваться, я постарался излагать вещи настолько кратко, насколько это возможно без потери смысла.

Что такое блок?
Зачем использовать блоки?
Использование блоков для экономии памяти
Блоки для повторного использования графики
Блоки для динамического содержимого
Как создавать блоки?
Выбор размера блоков
Определение необходимых блоков
Как отображать блоки?
Отображение двухмерной сетки

Определение требований к интерфейсу
Первый аспект разработки интерфейса относится к выяснению того, что требуется от интерфейса. Вы должны спросить себя Что должен делать интерфейс?. Это ключевой вопрос, потому что не ответив на него вы не сможете начать разработку. Конечно, вы можете начать программирование, оставив размышления об интерфейсе на потом, но я настоятельно не рекомендую так поступать. Итак, вопрос в том, как вам определить требования к интерфейсу?

Активные зоны и графика
Активные зоны и графика - 2
Детализация схемы интерфейса
Взаимосвязь шаблонов интерфейса
Взаимосвязь шаблонов интерфейса - 2
Звуковое оформление интерфейса
Состояния интерфейса
Состояния интерфейса - 2
Раскадровка интерфейса
Удобство и простота интерфейса

Звуковые API
Существует несколько способов воспроизведения звука в компьютерной игре, включая использование различных свободно распространяемых API, таких как OpenAL и DirectX. Кроме того, доступны различные коммерческие библиотеки, но их стоимость может вас неприятно удивить.

Архитектура DirectMusic
Загрузчик DirectMusic
Исполнитель DirectMusic
Сегменты DirectMusic
Как воспроизвести файл WAV
Проект DMusic_PlaySound
Заголовочный файл Main.h
Файл программы Main.cpp
Функция bInitializeSoundSystem()
Как инициализировать COM

Проектирование подразделений
Если вам придется выбрать общие признаки для описания подразделений, какими они будут? Я думаю, что приведенный ниже список может служить хорошей отправной точкой: Название. Способ передвижения. Скорость передвижения. Тип атаки. Тип защиты.

Название подразделения
Способ передвижения
Передвижение по земле
Передвижение по воздуху
Передвижение по воде
Полеты в космосе
Скорость передвижения
Тип атаки
Тип защиты
Программирование шаблона

Обзор DirectInput
DirectInput это часть DirectX, которая обрабатывает все формы ввода от игрока. Вы можете управлять мышью, клавиатурой, джойстиками, устройствами с обратной связью и многими другими типами устройств ввода. Для каждого типа контроллера имеется связанный с ним объект устройства. Для каждого объекта устройства вы создаете его экземпляр.

Интерфейс IDirectInput8
Интерфейс IDirectInputDevice8
Ввод с клавиатуры
Проект DInput_Simple
Инициализация DirectInput
Функция iInitDirectInput()
Функция iInitKeyboard()
Буферизованный ввод с клавиатуры
Функция IDirectInputDevice8::SetProperty()
Установка формата данных клавиатуры

Основы редактирования карт
Первый вопрос, который вы должны задать: Что такое редактор карт?. Редактор карт помогает вам собирать вместе графические блоки карты в формате, пригодном для использования в вашей игре. Он очень похож на программу для рисования, где в качестве холста выступает карта, а в качестве кистей графические блоки.

Компоненты редактора карт
Область редактирования
Область выбора блоков
Мини-карта
Область вывода информации
Просмотр карты
Глобальные переменные карты
Ход выполнения программы
Генерация случайной карты
Навигация по карте

Обзор трехмерной анимации
Сперва выясним, что же такое трехмерная анимация? В двух словах это выполнение действий с одним или несколькими объектами в трехмерном пространстве, изменяющих их с течением времени каким-либо образом. Думаете, почему это нужно вам, разработчику стратегических игр? Хорошо, объясню специально для начинающих: трехмерный танк в вашей игре будет выглядеть не слишком правдоподобно, если его гусеницы не двигаются, а трехмерный механоид не выглядит впечатляющим, если антена его радара не вращается.

Сцена
Объекты
Фиксированные объекты
Ключевые кадры
Автоматическая вставка промежуточных кадров
Анимационные наборы
Импорт содержимого
Экспорт из 3ds max
Основы моделирования
Основы моделирования - 2

Задача поиска пути
Начальная точка выглядит как набор концентрических окружностей, а конечная как большая буква Х. Чтобы переместиться от начальной точки к конечной вы должны определить, в каком именно месте карты вы находитесь и принять обоснованное решение о том, в каком направлении следует двигаться. Поскольку в игре определить свое местоположение (координаты X, Y и Z) достаточно просто, остается решить только куда нам двигаться.

Простое решение
Поиск пути по алгоритму A*
Основы A*
Начало поиска
Вычисление стоимости узлов
Базовая стоимость узла
Стоимость относительно начального узла
Стоимость относительно цели
Общая стоимость
Поиск наилучшего узла

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

Характеристики частиц
Изображение частиц
Движение частиц
Анимация частиц
Структура класса частиц
Класс CVector
Класс CParticle
Члены данных
Методы класса
Функция CParticle::vUpdate()

Сетевые соединения
Чтобы играть с другим человеком, сидящим за другим компьютером вам сперва необходимо установить соединение с этим компьютером. Существует множество типов соединений, но в игровом сообществе все они делятся на две основные категории: локальная сеть и Интернет.

Игра по локальной сети
BNC шаг вперед!
Соединения витой парой
Соединение через кросс-кабель
Сеть с концентратором
Сеть с коммутатором
Маршрутизаторы ворота в Интернет
Маршрутизаторы ворота в Интернет - 2
Сетевые протоколы
Протокол TCP/IP

Создание снимков экрана с помощью Photoshop
Первый шаг при создании снимков экрана с помощью Photoshop поместить находящееся на экране изображение в буфер обмена Windows. Для этого вам надо нажать кнопку PrintScreen, расположенную на вашей клавиатуре. Сразу же после нажатия кнопки изображение рабочего стола будет помещено в буфер обмена, откуда может быть вставлено в другие приложения.

Диалоговое окно создания нового изображения
Установка атрибутов изображения
Установка атрибутов изображения - 2
Вставка изображения из буфера
Компоновка изображения
Сохранение изображения
Сохранение изображения - 2
Слои
Эксперименты со слоями
Перемещение слоев

Ресурсы для разработчика
Существует множество ресурсов для разработчиков, так что здесь я перечислю только свои любимые

Двухмерная графика
Трехмерная графика
Сообщества разработчиков игр
Аппаратное обеспечение