기본 콘텐츠로 건너뛰기

금융산업에 빅데이터와 인공지능이 필요한 이유?



요즘 빅데이터와 인공지능을 도입했다고 신문기사에 많이 나온다.

머신러닝과 딥러닝은 빅데이터나 인공지능에 들어가지만 실질적으로 이 기술을 도입했다고 다 인공지능은 아니다.

금융상품을 팔거나 투자하기 위해 로보어드바이저를 도입했다고 하지만 과연 내가 투자하는 성향에 맞는지를 알 수 있는 것도 없다.

금융산업이 온라인 서비스를 하기 위해서는 많은 투자가 필요해서 선진국 금융기관들도 지점들을 폐쇄하고 있고 그 비용으로 IT 시스템 구축에 투자하고 있다.

국내 금융기관은 차세대 프로젝트만 수행하고 있으며 MDD 기반의 자바 언어에만 신경쓰고 있지 자신들이 시스템이 향후 플랫폼 체계와 빅데이터 및 인공지능을 어떻게 붙이는지에 대한 고민은 없다.

조만간 인터넷전문은행도 사업을 추진하지만 국내 온라인 시장은 그리 활성화되지 않을 것 같다.

온라인으로 금융시장이 활성화 되려면 고객이 얼마나 금융시스템을 자주 사용하는가가 중요한데 고객 개개인에 대한 취향이나 행동패턴을 이해하지 못한다.

빅데이터와 인공지능은 실시간 개인화 서비스를 제공하는  기본 도구이지만 단지 단점은 장기간 투자하고 인재를 육성해야 하는 것이다.

항상 늦었다고 생각되지만 금융기관 스스로 빅데이터와 인공지능을 할 수 있는 인력과 인프라 자원을 갖추도록 노력해야하니 지금부터라도 신문 홍보보다는 실질적인 행동을 수행해야 한다.

구글이나 페이스북 등도 조만간 금융서비스에 본격적으로 들어오면 더 경쟁이 힘들어진다.




이제 금융기관도 소프트웨어에 대한 R&D 투자를 해야 하는 시대에 돌입했으니 항상 준비해서 글로벌 경쟁에서 어떻게 버틸지를 고민해야 한다.

댓글

이 블로그의 인기 게시물

golang overload 처럼 처리하기

go 언어에서는 함수명이 같을 경우 재선언 오류를 발생시킨다.
다른 메소드를 만들고 오버로드 처리하도록 설계해서 구현해야 한다.
오버로드 처리를 위해 type switch를 사용해서 들어오는 타입에 따라 메소드 호출하는 처리를 사용한다.
함수나 메소드 인자를 다양하게 처리하려면 []interface{} 로 정의해서 다양한 인자를 받아서 오버로딩 처리하면된다.


package main
import (  "fmt" )
func main() {  var p Person  p = Person{"dahl"}
 var s string = "moon"
 fmt.Println(" overloading  ", p.Overload(s))  fmt.Println(" overloading", p.Overload(nil)) }
type Person struct {  name string }
func (this *Person) Overload(args interface{}) string {  switch args.(type) {  case string:   return this.GetName2("moon")  case nil:   return this.GetName1()  default:   return " no match"  } }
func (this *Person) GetName1() string {  return this.name }
func (this *Person) GetName2(s string) string {  return this.name
}


golang에서 인터페이스 Type Assertion 처리하기

인터페이스: Type assertion 
인터페이스를 이용하여 메소드가 아닌 일반 변수에 할당하며 변수에 정의된 타입들에 대해 명확히 구분할 수 있다.   
Var 변수명 interface{} 로 정의하면 일반 변수정의 타입들도 전달할 수 있다.      //구조체 정의 var a BB = BB{X:10} 
//Type assertion 정의 var value interface{} 
   // 할당    value = a     //value.(타입)     fmt.Println("  type assertion ", value.(BB))  //출력값 {10}
리턴값을 interface{} 즉 type assertion 을 처리하도록 정의 func weird(i intinterface{} { if i < 0 { return"negative"      } return i }
func main() {

golang 에서 generic 처리하기

go언어에서 제너릭 처리를 위해서는 아래처럼  인터페이스를 정의하고 각 타입별로 구현을 한다.

슬라이스에 각 타입으로 컨버전하여 값을 넣고 슬라이스 순번대로 호출하면 자신의 타입에 맞는 메소들를 호출하여 처리한다.




type Integer16 int16
type Integer32 int32

type Calculator interface {
Calculate()
}

func (i Integer16) Calculate() {
/* behavior here */
fmt.Println(" Integer16 ", i)

}
func (i Integer32) Calculate() {
/* behavior here */
fmt.Println(" Integer32 ", i)
}


func main() {

container := []Calculator{Integer16(1), Integer32(2)}
fmt.Println("container   ", container)
container[0].Calculate()
container[1].Calculate()


}

// 결과값

ontainer    [1 2]
Integer16  1
Integer32  2