2008-10-22 27 views
3

我即將進入設計商品交易應用程序的第一階段。 此應用程序的主要功能是定價信息的捕獲和評估。 這個市場的定價不固定。它通常是+/- +/-溢價的市場基準。例如:(A和B是市場基準)基於公式的定價。存儲在RDBMS中並在應用層中使用

  • 價格= A + $ 1
  • 價格= A + 0.5(AB)

該交易的最終價格使用計算出的定價公式適用於商定的時間。例如;最後的價格可能是加載商品之前一週和一週內A + 1美元的平均價格。

目前交易員正在Excel中捕捉這些細節,使他們能夠靈活地設置所需的公式,但這些信息從未進入我們的會計系統,電子表格也沒有與市場基準價格的實時預測相關聯預測手動和緩慢的任務。

我在找什麼工具/技術可以用來輸入,存儲和評估公式在應用程序中的輸入。

我們將使用SQL Server或Oracle作爲數據庫,但客戶端平臺尚未修復,但您可以假設爲WinForms/WPF,ASP.NET或Java Web應用程序。

我知道這是一個相當廣泛的問題,但我們還不夠詳細,以確定哪些技術將被使用。

謝謝

回答

2

我敢打賭,你的用戶喜歡輸入公式到Excel的靈活性,所以我建議像這樣的方法: -

  1. 寫的東西,讓他們使用類型的輸入公式到你的應用運營商,他們實際上將使用關鍵字不同的基準價格。這可以作爲一個字符串存儲。
  2. 使用白名單方法進行驗證(可能相當棘手,也許你需要查找一些基於棧的解析算法)。您可以允許:+ -/*(){數字常量} {基準價格關鍵字}。
  3. 將這些公式轉換爲您的數據庫在SELECT列表中可以理解的內容。如果他們輸入的公式與你在SQL中可以做的相似,這可能不會太困難。關鍵字變成列名,其他所有內容都可以單獨保留。

然後,您將能夠通過插入特殊形式並在歷史數據和/或預測中運行它來選擇回數據,平均時間段等。

第2步有一些技巧,但它會使一切都變得簡單(和有效)。

0

有趣的場景。警告:此回覆基於我對解決問題的一些想法,可能並不反映最佳做法。

我會試着看看你是否可以把你的潛在公式規則歸結爲更簡單的構造。這樣可以讓你將你的規則組合在一起來創建複雜的公式。然後,您需要能夠將規則存儲在數據庫中,這可以使用DSL或某個XML規則文件完成。

這聽起來像你目前的情況,公式在Excel中,工作相當好,但有一些打嗝。你有沒有考慮使用一些先進的宏或Excel自動化?您可能可以實現您的大部分目標,而您的客戶無需離開excel。

祝你好運。

0

如果數據來自可信來源(big if),則可以將數據庫表達式存儲在列中,然後立即創建SELECT語句以執行它。

0

您可以使用符號數學包(例如GiNaC)來解釋您輸入到表中的公式。

1

您是否考慮過與Excel集成?這樣,您就不必試圖從他們的魔掌中撬出Excel(Excel的商業用戶ADORE),並且他們可以使用他們多年來學到的所有技巧。您只需使用VBA在您的應用程序和Excel之間來回傳輸數據(或者他們告訴人們最近與Excel集成),並且您非常適合使用。

1

我有一個可笑的簡單解決方案,與漢克的命題有關。創建一個數據庫並在你的Excel表格之後建模。導出Excel數據並將其導入到數據庫中。在客戶機上創建ODBC連接器以指向數據庫。在Excel中,您可以連接到數據源。這樣,您的客戶將不會遇到UI更改問題。

0

感謝您的回覆。

用戶自己想要脫離Excel。他們正在與多個用戶嘗試輸入和更新數據作鬥爭。我可能會研究VSTO爲將小型Excel表格嵌入到應用程序中所提供的選項。

我傾向於使用嵌入式「語言」來存儲和評估公式。

使用簡單的解析器將輸入的公式轉換爲SQL可能是一個合理的想法,因爲方程式中的變量是時間序列向量而不是標量數據點,並且SQL方法應該可以更容易地計算所需時間段內的結果。

謝謝

相關問題