Как разработать язык программирования, адаптированный к финансовым инструментам?

В формах Windows Вы имеете app.config, который очень похож на web.config. Но начиная с того, что я вижу, Вы нуждаться в нем для являетесь пользовательскими значениями, я предлагаю использовать Настройки. Чтобы сделать это, откройте свои свойства проекта, затем перейдите к настройкам. Если файл настроек не будет существовать, то у Вас будет ссылка для создания той. Затем можно добавить настройки к таблице, которую Вы видите там, который генерировал бы и соответствующий XML и класс Настроек, который может использоваться, чтобы загрузить и сохранить настройки. Класс настроек назовут чем-то как DefaultNamespace.Properties.Settings. Затем можно использовать код, подобный:

using DefaultNamespace.Properties;

namespace DefaultNamespace {
    class Class {
        public int LoadMySettingValue() {
            return Settings.Default.MySettingValue;
        }
        public void SaveMySettingValue(int value) {
            Settings.Default.MySettingValue = value;
        }
    }
}
6
задан BlueTrin 14 December 2009 в 09:14
поделиться

9 ответов

Я предлагаю вам сконцентрироваться на разработке богатого набора классов на предпочитаемом вами объектно-ориентированном языке (C # или C ++, хотя я подозреваю, что вам будет проще интегрировать первый с Excel). Это даст вам ваш язык для описания финансовых организаций, связанных с финансовыми рынками . Когда вы это сделаете, вы должны подумать, следует ли продолжать обертывать эти классы на каком-то конкретном для домена языке или просто предоставить их вашему сообществу пользователей.

Я подозреваю, что ваш домен имеет некоторую неснижаемую сложность и что промежуточный DSL будет должен быть (почти) таким же сложным, как ваш набор классов, и поэтому вы мало что выиграете от его создания.

Другой подход - интегрировать Excel с Mathematica, для которой Wolfram создает какой-то набор инструментов.

10
ответ дан 8 December 2019 в 03:01
поделиться

Я бы рекомендовал использовать R .

3
ответ дан 8 December 2019 в 03:01
поделиться

Джейн Стрит Кэпитал использует OCaml и описала свой опыт здесь . Это довольно интересно, если широко читать.

Что касается вашей среды, если вы следовали их модели,

2
ответ дан 8 December 2019 в 03:01
поделиться

I would wrap the C++ libraries in Python.

I would define a package of fluent classes that -- in effect -- was my domain-specific language.

I would use the Python language directly based on those two foundations. I would not invent my own new syntax. The world doesn't need Another Syntax; we have syntax and grammars enough to parse, enough to last till the end of time.

Would you go for a functional syntax ? Python has functional capabilities. If you're careful with your Python class design, you can achieve a clean functional style.

Ideally it has to be able to be launched via some mechanism within Excel and return the results within Excel.

Since the Python interpreter can be embedded in a C++ (or C#) application, you can easily create Excel API's. From Excel to your new language, do as little as possible in the C++ API to initiate the Python functionality.

BTW, your competition is Resolver One. This is what they do.

5
ответ дан 8 December 2019 в 03:01
поделиться

ResolverOne (http://www.resolversystems.com/products/resolver-one/) is a combination of Excel and Python. Have you thought about using that?

3
ответ дан 8 December 2019 в 03:01
поделиться

Simon Peyton-Jones of Haskell fame contributed to a paper 'Composing contracts: an adventure in financial engineering' which discussed how functional languages lent themselves to composing executable descriptions of financial derivative contracts. Such a method should be possible with F#.

I believe the offerings of LexiFi aimed to commercialise some of this research.

3
ответ дан 8 December 2019 в 03:01
поделиться

Если ваша базовая библиотека использует Java, вам следует взглянуть на выполнение DSL в Groovy. Есть ряд подкастов и статей об этом, попробуйте поискать в Google "DSL Groovy".

1
ответ дан 8 December 2019 в 03:01
поделиться

Еще одна точка зрения, которая использует C #.

Поскольку у вас уже есть мощный инструмент функционального программирования общего назначения, с которым ваши пользователи знакомы и которые уже приобрели в виде Excel, я хотел бы создать решение вокруг этого. У вас по-прежнему есть возможность использовать другие сторонние надстройки и интегрированные опции (например, R и Mathematica)

Я бы посмотрел на Надстройки управляемой автоматизации для функций, определяемых пользователем . По сути, это проекты библиотеки C #, использующие System.Runtime.InteropServices, как описано в тексте ссылки этой статьи . Для пользователей эти функции добавляются на уровне ячейки обычным способом с помощью мастера функций и могут быть более или менее такими, какими вы хотите их видеть. Тогда это ваш DSL. Пользователи могут легко интегрировать функциональность в свои существующие модели. Также было бы быстро создать прототип чего-нибудь, чтобы проверить осуществимость этого. Их можно полностью отладить.

Кроме того, используя Visual Studio Tools для Office, вы можете получить доступ к полной иерархии объектов Excel и даже добавить панели действий, которые можно расположить, перетаскивая элементы управления для более сложных требований ввода данных. Я считаю, что можно даже использовать WPF с Excel таким образом, если вам нужно добавить специализированные визуализации. Если вам нужно было сохранить данные обратно, чтобы сказать, что Sql Server, вы можете создать форму проверки, используя этот подход.

Я звучу как M $ shill! (Чтобы внести ясность, я не работаю для них.)

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

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

Кроме того, используя Visual Studio Tools для Office, вы можете получить доступ к полной иерархии объектов Excel и даже добавить панели действий, которые можно расположить, перетаскивая элементы управления для более сложных требований ввода данных. Я считаю, что можно даже использовать WPF с Excel таким образом, если вам нужно добавить специализированные визуализации. Если вам нужно было сохранить данные обратно, чтобы сказать, что Sql Server, вы можете создать форму проверки, используя этот подход.

Я звучу как M $ shill! (Чтобы внести ясность, я не работаю для них.)

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

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

Кроме того, используя Visual Studio Tools для Office, вы можете получить доступ к полной иерархии объектов Excel и даже добавить панели действий, которые можно расположить, перетаскивая элементы управления для более сложных требований к вводу данных. Я считаю, что можно даже использовать WPF с Excel таким образом, если вам нужно добавить специализированные визуализации. Если вам нужно было сохранить данные обратно, чтобы сказать, что Sql Server, вы можете создать форму проверки, используя этот подход.

Я звучу как M $ shill! (Чтобы внести ясность, я не работаю для них.)

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

Кроме того, с помощью Visual Studio Tools для Office вы можете получить доступ ко всей иерархии объектов Excel и даже добавить панели действий, которые можно расположить, перетаскивая элементы управления для более сложных требований ввода данных. Я считаю, что можно даже использовать WPF с Excel таким образом, если вам нужно добавить специализированные визуализации. Если вам нужно было сохранить данные обратно, чтобы сказать, что Sql Server, вы можете создать форму проверки, используя этот подход.

Я звучу как M $ shill! (Чтобы внести ясность, я не работаю для них.)

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

Кроме того, с помощью Visual Studio Tools для Office вы можете получить доступ к полной иерархии объектов Excel и даже добавить панели действий, которые можно расположить, перетаскивая элементы управления для более сложных требований ввода данных. Я считаю, что можно даже использовать WPF с Excel таким образом, если вам нужно добавить специализированные визуализации. Если вам нужно сохранить данные обратно, чтобы сказать, что Sql Server, вы можете создать форму проверки, используя этот подход.

Я звучу как M $ shill! (Чтобы внести ясность, я не работаю для них.)

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

Я считаю, что можно даже использовать WPF с Excel таким образом, если вам нужно добавить специализированные визуализации. Если вам нужно было сохранить данные обратно, чтобы сказать, что Sql Server, вы можете создать форму проверки, используя этот подход.

Я звучу как M $ shill! (Чтобы внести ясность, я не работаю для них.)

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

Я считаю, что можно даже использовать WPF с Excel таким образом, если вам нужно добавить специализированные визуализации. Если вам нужно было сохранить данные обратно, чтобы сказать, что Sql Server, вы можете создать форму проверки, используя этот подход.

Я звучу как M $ shill! (Чтобы внести ясность, я не работаю для них.)

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

3
ответ дан 8 December 2019 в 03:01
поделиться

Большинство финансовых учреждений (или их подразделений) уже приобрели лицензии Matlab. Я рекомендую вам взглянуть на объектно-ориентированные возможности, предлагаемые Matlab (и, действительно, на их Financial Toolbox ).

Сначала я думаю, вы получите три вещи:

1) Доступ в среду высокого уровня, где пользователи могут сосредоточиться на проблеме, а не на реализации 2) Наличие качественной графики 3) Полная интеграция с Excel и другими пакетами повышения продуктивности

Я знаю, что вы имеете в виду разработать язык (в отличие от приложения), но подумайте о переносе своей семантики на хорошо знакомый язык - таким образом вы избежите кривой обучения для вашего пользователи.

1
ответ дан 8 December 2019 в 03:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: