|
|
改了一下,这次运算应该没啥问题了6 A* U/ ]* ^4 j( D1 F6 @% a
" P$ I* R2 ^# g8 r9 N3 e) z0 e( z K) ?* j
capture program drop hello
2 B/ X3 m' b. p& K5 k4 i B- c% E7 d4 ?3 S6 \
program hello
" z$ g" |( j: D- S
% f1 ^5 f7 Y& L) w; m2 i8 P1 I! F quietly {
1 ]; B( h0 o+ v' l- u& U! I$ Q7 {8 Y$ h0 f
clear+ S* c( @: w7 R- I8 r
# _/ l& Q* _; O0 x8 \: wcd e:\finance\stock\20110101\source6 b4 m- w4 ?4 Q
5 Z% x" k& u" j: M/ `3 Pinsheet using `1'.txt
6 B4 @( a( ^$ w. L; e0 p+ a
2 m' x9 T% w/ d, F keep if v5>04 z- L. G& Z, Q. C! N$ ?7 @
, W+ [4 t7 x, @- O0 t! w4 T. e! ~ gen vt=_n, Q8 q( v5 K, j7 M! _
% x: F5 y( z/ d$ u* J
tsset vt! y m. G6 `5 y- ? Y
, O/ s# o( r4 U' ? gen zf=D1.v5 Q4 H3 l0 `: s' F( D8 }1 G; D: {; }$ T
! o7 W/ @: D9 t$ _3 i, b4 Q& ? gsort -v1& [! U5 B! z( r% \+ M
5 U0 Q# p3 u6 A+ O) @( S
gen avol=v7/v5
) N( H! k8 s; z+ ], J8 F+ k 5 d; Q5 H. H- b
keep if avol>0
- l* b3 k/ h( ~; I( Q1 a) I - T# V. b N. u5 ]: d2 L+ z
drop vt
+ _4 i; x- R' W/ Q" q: c
' S$ v- b" F' F- s gen vt=_n
' R5 W' h" M+ T1 O# H
( y% t& b0 J- c tsset vt+ u# w% K9 w4 X2 J; I
$ j# d9 N2 M; O( D* h4 c! P
sum v5 [aw =avol]
5 i$ P$ s6 W( e p1 y, T5 r6 B& u; V ~" ~! ^; }" ]. y
gen amean=r(mean) in 1 Z# m5 r- K) e! r* q
5 m0 m' I5 _+ ] * 总加权平均值 amean
; t2 N- C3 V& R! `" t 4 L7 m% l7 B# o8 s+ m
4 @% k9 s, l) i keep in 1/240$ Z8 s, M& ]" G3 g1 l; k
6 O: J' a2 h$ D0 u, d! i, \
sum v5 [aw =avol]; V2 x9 L/ C) E3 u- @
- r% c) s g- G) X' z7 p3 d# b
gen mean240=r(mean) in 1! d ^& Q" H8 p4 m
0 h/ @7 [# L8 V5 g0 x1 ^2 A' g *240加权平均值 mean240: ^* M) R* o; D4 y8 {7 L* x
3 R1 X$ ?, \( h
set obs 500
9 n, u% p" l% n; r; { ! g8 J. b l- s8 S5 s' H
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
( e }8 P# K) L1 h- H2 @ - Z9 G( M; W+ f; P5 N* d% B
*240 kdensity(dx240 dy240)
' O0 `# h' {+ G$ x6 H. z- I7 Z 8 j* m' v! Z! Z% o
sum dy240& k; ~8 `- H* O% I5 c/ M* {
5 D5 ?" J" Q1 i( j3 F x
gen yxis=r(max) in 1, b6 s- H U" n/ ^7 C" N; `* ?; q
~" P2 M/ m/ ~% x gen yxis2=yxis/2" @2 M8 e3 C1 D
0 \ k3 t+ Y/ u ^ E *yxis
+ Z: H& F1 ~' s+ h# l' X 4 h( [* n" h, s4 C5 K( C
gen dy240max=r(max)
- U( b2 e* n# u/ O
2 ]; S+ ~0 p. R2 ^1 ?% x" i1 t+ { gen dy240minp=r(min)
# p" d( r y" E8 K9 N u5 g ! \* B" a6 K% D' K
gen vtt=_n2 D& o* F6 U) o5 j
e7 g1 @9 b5 r7 ]
tsset vtt
6 z5 K: T$ b% o/ h" F' Y' P" j& }' U$ z
gen ddy240=D1.dy240/D1.dx240
5 g; ]& l! t: K8 _; ~. q7 B' S9 _ l ; o4 E% ~! N- u+ L! K
sum ddy2408 D$ h- S- c* N; v" F# L# K
) K9 z5 F- e- d# z gen ddy240max=r(max)
; G! b. e7 c, x& y( A/ K2 ` X, k4 f+ r ; j5 X; @2 M+ j3 i" Z" Y
gen ddy240min=r(min)7 @$ H8 H: M# K. \
3 _! Z* }% H# J, q1 _
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
9 U- i/ }3 y, r$ h9 N4 }. h
! t, k+ K) q- b) H sum ddy240g x) \; t5 \8 j3 W" f
6 A8 j: g3 r2 \
gen yxis3=r(min) in 1. ]- d' F ~6 z) n
. Q4 A9 s6 S+ i gen yxis4=0 in 12 ^7 R, T6 P$ u a' p2 a6 g' Y
' x& y _0 {/ W: P" X7 g5 g *ddy240g
5 d% I5 _+ D. z( [ : b0 c! b5 S; Q
. K- w3 \8 V" v+ { preserve 2 f$ u8 k0 Q O. @2 J1 L
) F, Q$ V, q% B5 j$ Y j7 _ sum v5 [aw =avol]
% d \7 t) m, [6 ^# c * H& U0 ~' R- I3 _9 M
keep if dx240<r(mean)
$ Z6 j$ W+ Q7 N4 x
# B' Y4 ?$ A* G" u+ j2 i w sum ddy240
6 N# q4 d1 y# A# }) B
m7 s6 M- Y! c; k4 w9 [; |) Y7 q if r(min)<0 {/ I" ~/ B. g' }$ |: Z! I+ e8 x
$ u' x% X( d5 N7 e
keep if ddy240<=0: K. G) Z) K/ Z% T$ Q4 V
9 f" A/ f' { L1 ] count D1 v! H( b/ c, V- j5 V) T# T
+ ?- Y& r9 g' Q! p. Q! \, C4 W if r(N)>2 {
0 J3 U4 e. B3 t. r# u& ^ ' H9 p. _- j- t/ a: t0 f
pkexamine dx240 dy240$ ~" h0 u; w4 F9 _
R! O+ M" l4 _3 X% k5 Y8 s
local tempminp=r(tomc)( ~) {: p* H! c O# l
restore
9 `3 s& g: c* [' M' R2 ? }2 q+ M% d" P$ E
# Z/ z, m& S! M P% j
else {+ M& _$ K) D+ @/ z
, N3 d8 t* ]2 k6 j( D( v
di "cannot find minp"$ N- N; W/ h" [* z
" m: e5 G `- T0 z" w$ F
restore , `, Z0 c k8 a5 A* S
sum dx2403 C8 Q8 p; b( z, l9 {
local tempminp=r(mean)4 `5 _0 o" F2 _1 o
* R/ I M" w9 W }
L3 A6 g- p8 C. J0 ~ }
* f* `$ A: }' m) H else {) O# ~, r0 W9 L2 y% E) j7 k3 F
^' s' H0 h" ~" @ keep if ddy240<=r(min)
" g! |5 P5 H2 K1 G) b) f+ m- J! X , [; h# K, K0 q2 D2 r: C" R4 e
sum dx240
3 K" L- G( @& u6 m7 s4 i# Y1 m# ] % K: a( p% K9 ]! V; p; y/ ]
local tempminp=r(min)1 b# }: W8 Q( ~) }$ O
restore
' Z" p0 Q+ z/ Y& X }
" {$ ]% x3 _# v" c' u* L9 |! u' V# Q0 O: v5 w
1 m# b* g5 t: J! K6 r" {8 U
3 O( Z, a+ B' C8 Q: H gen minp=`tempminp' in 15 [1 N" ~1 E( U8 @" D
*240 minp
# g) p, N- f2 O4 {* O, w, l6 Q6 Q$ h1 T% a, n# w
L. y' h1 V: \' e4 ^& V, D5 ]- o
6 i0 a+ v: k; q% h* n; s8 x5 p
preserve
& c- @% r2 g) @. T: a
2 b& z! w5 y5 J% r/ ^ sum v5 [aw =avol]1 S- P8 a9 F9 d
0 |. e2 \) M3 t1 F keep if dx240>r(mean)& L7 ^! Q3 y& R3 g; _2 p
: u. e. z" Z# x; Z/ j
sum ddy240
* P* R' t$ a: A- {" R; ]2 J3 ^
# @5 j$ x t* P8 b# h- @5 e. H" \" ?" c if r(max)>0 {
& w" z3 |5 u2 D5 G$ [, T4 a
6 U" O& _ Q& u) ~+ A) F keep if ddy240>=0" I9 K( ~. Y, ?4 B2 a/ X3 ~9 h* i6 v
$ B7 d' `; X; o* G, }3 ?$ \" C count
! s# o/ _ j6 Y9 y/ @% l
3 H% W& ]! g6 w% w1 m, f7 f7 n+ m- W if r(N)>2 {
* r( b3 ^# k# k/ c8 a! Y- o2 L
- p( w+ x6 o+ d+ @/ ~ pkexamine dx240 dy240
7 O( G% J1 P( W0 K* K: H
- F$ n+ ~( G& K' ~% @+ s% X5 N local tempmaxp=r(tomc) 9 d: M8 ]# R8 P- Y& W# N3 z
restore * P3 s* [7 E: q" l" T3 b+ I
}0 p9 x& v! i* U1 c/ g! J
% X4 q" B' y! {# @5 V
2 u' V- o& c3 W' X else {
2 @9 _/ [6 E6 u" S3 s9 T+ i4 L restore & F6 i& h" r2 G! L5 \& A
di "cannot find maxp"
7 G; [ q7 O# ~8 |* z! d+ v& f
! z) t) S2 [7 P9 M
) y% c- n1 w; N sum dx240
# A3 H& a7 T3 x4 Z local tempmaxp=r(mean)" [, i0 m, J+ w' h4 H
' A) r" {) U3 q) v1 r
}0 {2 p# V( K( t' t
# d a# X, B1 Y( Z h. q
}; g. I* b7 @3 ] Q* g
3 W+ m3 n7 D) T
else {! x- A j4 z- t8 H6 B& N g
, k1 d ]% r4 o, ]
keep if ddy240>=r(max)! R9 L+ g c1 p
( i: b: q$ k* ^0 V5 s) ^ sum dx240
7 N6 w4 D7 U- P; u & p2 y2 k% q+ j8 g( x
local tempmaxp=r(max) * U- J* ^ Z7 V: t3 w: U
restore 5 @' y/ W5 Z: W1 J" }. P- Y) o. D
}
4 A0 f1 I# A3 F+ r " `1 t$ M: T r7 y+ g
+ ?- h" }. m! T) m# o+ R
% j# |2 @8 o. x; `* c) p$ A1 w+ J
9 D, @: b: O3 \% @' u gen maxp=`tempmaxp' in 1
- w" I/ I, T$ _% X# k) a3 U
1 o4 V, G% L5 B( [3 b* Q; k *240maxp; B7 Z8 z1 D; v! A$ i1 y
2 A9 m& S. X2 y* |# J- S( E
: P* U: Y' t/ E5 N *-------------ddy240pminp左侧高峰值-----
: V' {" j8 T0 B; P' g$ J; l ' w+ o2 O9 v, Y7 c6 O' q4 S) ?$ M
preserve 0 Y& N9 q& q3 R% \4 i. Q
' V" g6 p5 i& D3 w7 [ keep if dx240<`tempminp'
$ V; X* {$ Z- @; P( N( [+ @: F7 i & q$ s% h! U2 Q* C2 G! J9 F
keep if ddy240>0
; Q" \$ _( [- h& E8 e6 r + f$ X' k7 s+ u7 G0 r
count
& H; D; g& r+ N% Y, h
) m% }" b# C ~& t, Y if r(N)>2 {
- h4 s3 G, Q$ ^. O5 y B9 @2 t7 p. P# O
pkexamine dx240 ddy240
4 x: T4 P( \0 b 7 _/ J' ?& u0 _ u) v6 I( i
local tempminphddy240=r(tomc)
( c' e, ~% p+ L; I8 d7 ]3 U5 w restore. [7 z3 Y W% r
}" G* E: {# ~, r( }, s: M' t
: w& R) G, a2 R2 a: |' X1 L else {
' f9 W' X% F) G2 w1 p; B P$ F" x) X restore
( f4 _6 r2 v; w# y. S) |' _5 m u. B di "cannot find pminphddy240"9 ?# C9 }0 f" \* o1 d5 ~/ t
' j a$ f; ]! f% z 6 ?, `* o) F3 g- V
sum dx240. C& C- `# A! H% K% o
local tempminphddy240=r(mean) ! u* ?$ `- A0 [) \" ]
6 `8 f( C* i6 v3 D
( n* [# z8 |; x* ?- p }; h( N1 h$ ?3 l2 h# T9 m- n) C' x) m
5 {' x' n( t- y3 ]4 n! J4 c 7 o4 {6 r r3 f; W$ l
0 g7 b1 ]3 z" ~$ T% q
$ h0 v4 w6 N/ D! K J; [( x . ?( W1 T$ s0 m7 K. |+ N1 s
' D0 E# |, T# H; j7 e gen pminphddy240=`tempminphddy240' in 1
5 e9 v$ Q$ L; @6 ~3 m, _3 L* ]9 W , [, T' z' ^( O/ { L. f w" \
( z# P' E8 P/ }2 I8 f( O. [0 R7 O *-------------ddy240pminp右侧低峰值 -----------------: Q; l; e6 `5 b" c4 z
preserve
8 J+ K8 e7 h, T, V 1 b) x; @& g! r; v# a' C
keep if dx240>`tempminp'0 m/ b2 _& \( x
" A) B, R8 X: _ t keep if dx240<`tempmaxp'
* I8 | D) ~& s $ `3 |* j5 L2 N! S# k+ ?
keep if ddy240<0 `9 c2 `; p* p1 c: h: r# f1 \+ R0 w
* r" q# A6 C s gen temddy240=-ddy240
6 J9 r$ v; z* x8 m& f % M k: w5 @1 B1 H" a; o
count
8 z5 e, F- ~( }" e* Z
3 R6 r( H4 w# I& V5 \ if r(N)>2 {$ V4 }$ o% Y; b8 y, S
7 k$ u+ x( Y. s# [ pkexamine dx240 temddy240% q6 N) o0 r8 a
+ o" @8 [ }( Z, R) S2 [) F
local tempminplddy240=r(tomc)) Q- _$ e; ]$ r/ R6 U
restore
, P* v \+ c6 S8 z }
; Z) _/ M! q0 {/ ^2 ], ~$ C 1 i0 k' P2 m: r* I( n
else {
( N) G, `8 W- `/ R 1 q2 C8 ]: ?! H- ^4 V
di "cannot find pminplddy240", t1 i3 @- {, J# _
restore0 f& q1 U0 w" m, [/ }
( y, x# d$ Q! g6 Y2 }- L. _" P$ i sum dx240
' t+ _1 H8 M& V+ e local tempminplddy240=r(mean)
/ X0 X, @ I3 y. S- S! L' z* v & v R/ ^7 _) f2 _
) y; j: q: [7 C) m: [& a }
# ^3 \' C) V d) j / y6 n( H# I. r K, R/ G- v
, f' G0 k9 W' l# V W
$ D5 M" G. f" {1 _; s4 S
) }5 f! R, i3 ]# j- f0 r ) q! F" W5 y5 t1 O
gen pminplddy240=`tempminplddy240' in 10 d( Y: @( H) S5 G3 B2 y( H3 ^
v; V1 P- x( |% D *-------------ddy240pmaxp左侧高峰值 -------------------* O% F/ }, L) w4 Q9 {8 Z0 E7 u: S
' i. q D5 r2 f' n3 P e
preserve & S6 D+ F, R$ r
3 M( g. z% g; I: t
keep if dx240>`tempminp'9 U7 Z; L- u. v" e9 [
$ ]) h: N- q8 g% x8 H- i% }7 D keep if dx240<`tempmaxp'2 q$ g0 \# V4 q1 N" k- N2 c
- t+ ^; @' l; }; B6 A keep if ddy240>0% l7 t2 d7 l0 b& `2 u9 t
count. K; t# c8 g" k& S+ s) i8 w8 o
- w, N( L; f; r- v& z if r(N)>2 {
& m9 j0 _( c; L6 {" l- L- h
) o# d( ~- M7 L+ E9 u+ ?& M pkexamine dx240 ddy240
5 z# c% k+ W- i% x- E8 S; l2 u
/ B6 N+ |& \$ A9 K* {$ m$ K local tempmaxphddy240=r(tomc) \( h8 U& \4 k) ^" p4 i
1 S1 c8 f5 |5 D7 j) T2 i
restore1 K0 I1 f2 Y- _" T) k0 G3 p& G
}
\; L( P! b. O8 r! ]/ z; c3 L# `
, H) }0 O2 y4 |$ O% h else { g$ Q; p7 l- b- c
0 [$ D2 t3 h- {& w& w/ y, i
di "cannot find pmaxphddy240"
2 Y3 `9 q+ w4 t# n, H3 D restore
! i. M+ T! a+ t1 {8 L! k6 z q ' D+ L: v A/ I. d! F! t a
sum dx240
7 ?8 a9 K/ B+ i7 v) f% B6 B* u local tempmaxphddy240=r(mean)
* K. z( q5 H& y+ m- B 3 s A* t/ z# B9 e; n5 r( C( Z
* G; \% ]* C6 d8 Z- d8 F& b! Q5 @: I }& N4 X# j3 h. R# D. H; Y
2 w l" K8 W& |" v4 K
& l W7 n6 T! e6 u' N6 [ 5 ^- o$ ^6 ?5 o. f$ A$ A& q9 W
$ U( m# F* K" w1 u7 z
: S7 D! H% P$ o; x( Q9 g
: q/ S! w0 v$ n. K gen pmaxphddy240=`tempmaxphddy240' in 19 p: B: A9 {8 I, H
. E" H+ S& @' M- U6 R5 o
7 {/ K8 }4 ]3 g" D$ { *-------------ddy240pmaxp右侧低峰值 -------------------) T4 m5 Z1 _! {- ]9 O) t5 \
3 a% J( e% `- J& t* k; @ preserve ' l0 A, r' p; W+ l: l7 S1 I
& Q6 t( K$ |0 i4 A+ [; j keep if dx240>`tempmaxp'3 [! B/ B# O6 [ R% [2 V
$ j6 v0 g$ F! d/ R
gen temddy240=-ddy240
: r" R* y4 F1 T2 t4 U 3 L; a$ W* @6 n8 u. O& ~/ n# f
keep if temddy240>0' ?7 e1 }; Y6 O
2 `) V* x7 j. r7 d! W6 s count) G" k/ S! M! d* c' {
5 l) ~- z& N, O/ U$ T if r(N)>2 {! R1 i$ W* t4 i. z
5 ]/ O' k1 F2 O% b
pkexamine dx240 temddy2407 z+ O* y& f* F# [
2 p& ?/ ]3 c0 }: i2 B( {, h
local tempmaxplddy240=r(tomc) 2 d! J4 M! O0 ?9 C) l! P4 Z
restore( O% m7 d5 v, O- N
}
" o- G6 _0 n* ^7 B 6 T( E Z7 n; Y; F# H S) G, \& J! s
else {
6 I( s, P" ^$ s) {6 E: t2 H restore6 W& p( H7 E6 i5 v8 L( d
di "cannot find pmaxlhddy240"8 i& g" _# l3 t# M% A
, {7 p! m( q, z& o
* {% l$ ]/ r" Z0 f sum dx240
0 _. U; P7 s" y0 p" p local tempmaxplddy240=r(mean) in 1
9 a5 a) [% V. f+ C; H `4 }: }2 X& S5 _" S
& |# w" D, \/ b+ m! w3 E9 K7 K
}. o& {6 J# C3 L
. i3 {" y) d: J$ F* f; }3 g8 Y
1 b" r( r5 T/ U- d6 [9 X
& |9 ?9 E: n3 A & _% f' ]2 P/ p* W3 p% O( }
/ M3 ]' s) {6 D4 I4 x
+ `2 I O# x$ K' e3 K2 ]* y5 u gen pmaxplddy240=`tempmaxphddy240' in 1
0 [; `. X# W& {: P3 x3 t ! d9 m: N4 g [1 Z, H0 K
*-------------------------------------
7 z" l7 v; d0 W8 z5 P u- j1 J& o) l/ A# e0 n5 J5 M
gen price5d=v5 in 1/20
% F( r0 [" X T# g
/ \$ Z! N8 b$ n* p9 G7 A gen price5yy=_n in 1/20
' u4 \! B7 D+ z, f! r; l
8 w) \# ~) N+ h gen price5y=price5yy*(dy240max-dy240min)/20" v8 h6 I: ?$ h8 J( z7 e
* k# B6 ~9 m0 [; z" d; L
*price5y &price5d
. \) I1 D4 j' F
# d9 p6 Z" D( C, n gen priceny=price5y in 1
; Q8 M3 [$ G8 Z9 d" a. P9 U - w3 I- \. F/ e
gen pricen=v5 in 1
# U+ `' T$ w- L- ~% I' `! N- W+ p0 c# K$ r, P: d
% E. k( t! p3 F5 }3 r *priceny &pricen6 [" l6 Q" I/ W, n
* P W! a$ q4 H8 J
9 E) {& I% W4 z k, G1 G
*-------------------------graph------------------0 I& E' z9 ~9 b9 P% p0 c0 e
; V7 T" Z5 s: z tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)& c% B- J/ W$ Q! P. k# b
1 D5 W8 \0 ]; y) C; v5 V
* ---------可选项目----------------------" q; }. q- _: b0 ]8 u) \! R
, b% S; {% G- T! J, z9 u9 h
}
! P: m0 @4 t: G: e3 Nend
9 O% l7 c' p7 I" l+ A |
|